hudson filesystem-scm plugin参数'directory'不是目录

时间:2011-02-08 18:50:57

标签: parameters directory hudson-plugins

我要做的是将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)

2 个答案:

答案 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