【问题标题】:hudson filesystem-scm plugin Parameter 'directory' is not a directoryhudson filesystem-scm plugin 参数 'directory' 不是目录
【发布时间】:2011-02-08 18:50:56
【问题描述】:

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

【问题讨论】:

  • 我知道这是一个死问题,但你有没有解决这个问题?我遇到了同样的问题。
  • 没有,从来没有看到过解决这个问题。
  • 我只是想在没有从属设备的本地文件系统上执行此操作,我得到了同样的错误。
  • 任何解决这个问题的方法,当我们从远程服务器指向文件时,我也面临同样的问题。

标签: parameters directory hudson-plugins


【解决方案1】:

我在 Linux 上遇到了同样的问题,并通过对路径中的所有目录设置适当的权限来解决它。

【讨论】:

    【解决方案2】:

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-06
      • 2015-10-06
      • 2015-12-20
      • 2023-01-28
      • 2011-05-08
      • 2022-07-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多