我要做的是将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)
答案 0 :(得分:1)
我在Linux上遇到了同样的问题,并通过为路径中的所有目录设置适当的权限来解决它。
答案 1 :(得分:0)
Hudson filesystem-scm插件用于在计算机中进行本地测试。 最好的解决方案是使用您的Linux帐户直接执行Jenkins。 Hudson filesystem-scm插件可以正常工作,而您的文件权限没有问题。
提取:How to run Jenkins under a different user in Linux (Redhat)
要更改jenkins用户,请打开/ etc / sysconfig / jenkins(在debian中,此文件在/ etc / default中创建),然后将JENKINS_USER更改为所需的名称。确保系统中存在该用户(您可以在/ etc / passwd文件中检查该用户)。
$JENKINS_USER="manula"
然后更改Jenkins主页,Jenkins Webroot和日志的所有权。
chown -R manula:manula /var/lib/jenkins
chown -R manula:manula /var/cache/jenkins
chown -R manula:manula /var/log/jenkins