【问题标题】:Jenkins copy directories/files in a buildJenkins 在构建中复制目录/文件
【发布时间】:2019-02-14 06:56:12
【问题描述】:

我试图在构建过程中将文件复制到网络目录,但我不断收到“没有这样的文件或目录”错误消息。

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

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)

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

谢谢!!

【问题讨论】:

    标签: build jenkins


    【解决方案1】:

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

    编辑: 我认为你的问题有两个方面:

    1. 不允许运行 Jenkins 服务的用户连接到网络。
    2. 用户不知道h:

    如果您没有修改它,该服务很可能在LocalSystem account 下运行。您可以通过运行services.msc(或通过Windows 控制面板导航到服务)并找到jenkins 服务来修改它。这应该可以解决第一个问题。

    第二个问题可以通过使用UNC 路径(如您在上面尝试过的)而不是网络驱动器来解决。

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

    【讨论】:

    • Jenkins 正在 VM 服务器上运行 - 我(trandal)在服务启动时已登录。我上面没有说,但是当我在服务器上时,我可以使用任何/所有命令(并运行脚本)。我要去查一下——不知道你所说的“服务上下文”是什么意思
    • 非常感谢您的澄清!我更新了 Jenkins 以在指定用户下运行,并根据 Jenkins wiki 链接映射了一个驱动器。再次感谢您!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多