Jenkins复制构建中的目录/文件

时间:2011-04-26 17:47:50

标签: build jenkins

我正在尝试在构建期间将文件复制到网络目录,并且我不断收到“没有此类文件或目录”错误消息。

复制到本地驱动器可以正常工作:

cp -Rf c:/Jenkins/deployments/TW_ISSUE_A/src c:/Jenkins/deployments/TW_ISSUE_A/target

以下所有内容都抛出相同的信息:

cp -Rf c:/Jenkins/deployments/TW_ISSUE_A/src H:/some_dir

cp -Rf c:/Jenkins/deployments/TW_ISSUE_A/src H:\some_dir

cp -Rf c:/Jenkins/deployments/TW_ISSUE_A/src //Hubbell/MISGenl/some_dir

cd c:/Jenkins/deployments/TW_ISSUE_A/src
rsync -avuzb //Hubbell/MISGenl/Projects/Tronweb/TronwebBuilds/test/ora/sql/

cp -Rf c:/Jenkins/deployments/TW_ISSUE_A/src /cygdrive/h/some_dir

我甚至创建了一个从Jenkins调用的shell脚本,但我继续收到该消息。

#!/bin/bash

url="http://as-test02:8080/job/TW_ISSUE_A_BUILD/lastSuccessfulBuild/artifact/bui
ld-TW_ISSUE_A_BUILD.tar";

remote_stage_dir="/cygdrive/h/some_dir"

#fetch the artifacts

(cd "$remote_stage_dir" && wget "$url" && tar xvf build-TW_ISSUE_A_BUILD.tar dat
 java ora && rm -rf *.tar && cp -r ./ora/* ../INTEGRATION)

有没有办法将文件复制到构建机器上的映射驱动器?

谢谢!

1 个答案:

答案 0 :(得分:5)

我猜测映射驱动器在服务上下文中不可用,或者执行Jenkins的用户无法访问它。 Jenkins运行的用户是什么?

修改 我认为你的问题有两个方面:

  1. 不允许运行Jenkins服务的用户连接到网络。
  2. 用户不知道
  3. h:
  4. 如果您尚未对其进行修改,则该服务最有可能在LocalSystem account下运行。您可以通过运行services.msc(或通过Windows控制面板导航到服务)并找到jenkins服务来修改此问题。这应该解决第一个问题。

    使用UNC路径(如上所述)而不是网络驱动器,可以解决第二个问题。

    Jenkins wiki有一篇关于此类问题的文章:My software builds on my computer but not on Jenkins