hudson filesystem-scm 插件参数'目录'不是目录
我想做的是将 C:/devel/Hudson/urmsSettopControl
的内容移动到slave1 C:/devel/HudsonSlave/workspace/Power Cycle
并且我不断得到这个错误,我尝试了 /
\
,甚至在 dir 路径末尾留下 \
也无济于事。我在这里做错了什么?
Building remotely on slave1
FSSCM.checkout C:/devel/Hudson/urmsSettopControl to C:/devel/HudsonSlave/workspace/Power Cycle
FATAL: Parameter 'directory' is not a directory
java.lang.IllegalArgumentException: Parameter 'directory' is not a directory
at org.apache.commons.io.FileUtils.listFiles(FileUtils.java:293)
at org.apache.commons.io.FileUtils.iterateFiles(FileUtils.java:339)
at hudson.plugins.filesystem_scm.FolderDiff.getNewOrModifiedFiles(FolderDiff.java:104)
at hudson.plugins.filesystem_scm.RemoteFolderDiff$CheckOut.invoke(RemoteFolderDiff.java:94)
at hudson.plugins.filesystem_scm.RemoteFolderDiff$CheckOut.invoke(RemoteFolderDiff.java:88)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1931)
at hudson.remoting.UserRequest.perform(UserRequest.java:114)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:270)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at hudson.remoting.Engine$1$1.run(Engine.java:58)
at java.lang.Thread.run(Thread.java:619)
What I am trying to do is move the contents of C:/devel/Hudson/urmsSettopControl
to slave1 C:/devel/HudsonSlave/workspace/Power Cycle
and I keep getting this error, I have tried /
\
and even leaving a \
at the end of the dir path to no avail. What am I doing wrong here?
Building remotely on slave1
FSSCM.checkout C:/devel/Hudson/urmsSettopControl to C:/devel/HudsonSlave/workspace/Power Cycle
FATAL: Parameter 'directory' is not a directory
java.lang.IllegalArgumentException: Parameter 'directory' is not a directory
at org.apache.commons.io.FileUtils.listFiles(FileUtils.java:293)
at org.apache.commons.io.FileUtils.iterateFiles(FileUtils.java:339)
at hudson.plugins.filesystem_scm.FolderDiff.getNewOrModifiedFiles(FolderDiff.java:104)
at hudson.plugins.filesystem_scm.RemoteFolderDiff$CheckOut.invoke(RemoteFolderDiff.java:94)
at hudson.plugins.filesystem_scm.RemoteFolderDiff$CheckOut.invoke(RemoteFolderDiff.java:88)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1931)
at hudson.remoting.UserRequest.perform(UserRequest.java:114)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:270)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at hudson.remoting.Engine$1$1.run(Engine.java:58)
at java.lang.Thread.run(Thread.java:619)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我在 Linux 上遇到了同样的问题,并通过为路径中的所有目录设置适当的权限来解决它。
I had the same problem on Linux and solved it by setting proper permissions to all directories in the path.
Hudson filesystem-scm 插件用于在您的计算机上进行本地测试。
最好的解决方案是使用您的 Linux 帐户直接执行 Jenkins。
Hudson filesystem-scm 插件可以在您的文件权限方面毫无问题地工作。
摘录: 如何在不同用户下运行 Jenkins在 Linux (Redhat) 中
要更改 jenkins 用户,请打开 /etc/sysconfig/jenkins (在 debian 中,此文件在 /etc/default 中创建)并将 JENKINS_USER 更改为您想要的任何内容。确保系统中存在该用户(可以在/etc/passwd文件中检查该用户)。
然后更改 Jenkins 主目录、Jenkins Webroot 和日志的所有权。
Hudson filesystem-scm plugin is for local test in your computer.
The best solution is to execute directly Jenkins with your linux account.
Hudson filesystem-scm plugin can so work without problem with your rights with your files.
Extract : How to run Jenkins under a different user in Linux (Redhat)
To change the jenkins user, open the /etc/sysconfig/jenkins (in debian this file is created in /etc/default) and change the JENKINS_USER to whatever you want. Make sure that user exists in the system (you can check the user in the /etc/passwd file ).
Then change the ownership of the Jenkins home, Jenkins webroot and logs.