我正在尝试在构建期间将文件复制到网络目录,并且我不断收到“没有此类文件或目录”错误消息。
复制到本地驱动器可以正常工作:
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)
有没有办法将文件复制到构建机器上的映射驱动器?
谢谢!
答案 0 :(得分:5)
我猜测映射驱动器在服务上下文中不可用,或者执行Jenkins的用户无法访问它。 Jenkins运行的用户是什么?
修改强> 我认为你的问题有两个方面:
h:
。如果您尚未对其进行修改,则该服务最有可能在LocalSystem account下运行。您可以通过运行services.msc
(或通过Windows控制面板导航到服务)并找到jenkins
服务来修改此问题。这应该解决第一个问题。
使用UNC路径(如上所述)而不是网络驱动器,可以解决第二个问题。
Jenkins wiki有一篇关于此类问题的文章:My software builds on my computer but not on Jenkins