【发布时间】:2018-08-24 14:14:26
【问题描述】:
我将Jenkins Azure VM Agents Plugin 与Linux Master 一起使用,在Windows 代理上启动作业。
我已完成所有配置步骤,一切正常,直到我尝试在代理上使用 Docker。
我的管道脚本:
pipeline {
agent {
docker {
image 'myurl.io/myimage:latest'
registryUrl 'https://myurl.io/'
registryCredentialsId '123456789abcdefg'
}
}
管道在运行此命令时似乎失败:
docker pull myurl.io/myimage:latest
报告的错误归结为:
Caused: java.io.IOException: Cannot run program "nohup" (in directory "C:\Jenkins\workspace\Test Pipeline Docker"): CreateProcess error=2, The system cannot find the file specified
一些注意事项:
Git 工具似乎已成功安装在代理 VM 上
-
This question 好像有关系,但不完全一样
- 我没有直接运行
sh命令,它是由插件运行的。 - 我认为我目前无权设置
PATH
- 我没有直接运行
- JIRA https://issues.jenkins-ci.org/browse/JENKINS-36776 上的这个问题是相关的,但它似乎没有得到修复,建议的解决方法似乎不适用于我的情况
我的问题
有没有办法让我的管道脚本工作?也许我可以在代理启动后以某种方式在代理上执行一些额外的命令 - 但在 docker pull 命令之前 - 将所需的目录添加到 PATH?
或者还有其他解决方法吗?
【问题讨论】:
-
有兴趣,我也有同样的问题。你解决了吗?
-
@realtebo 不,我还没有解决,但我有一段时间没有再次尝试。
-
是否可以提供一个文件
nohup.bat,它只正常执行其所有参数以解决Windows 上nohup的缺失问题? -
我要使用
nohup是一个unix 命令,代理是一个Win 服务器。在 S/O 中搜索 ["[jenkins] nohup 'c:\' is:question"](stackoverflow.com/…) 以获取修复建议。 -
您的 Jenkins 从站似乎无法访问您机器上的 nohup 命令。你有没有在配置中检查过你的 Jenkins --> tools 你的 git-tools 的路径在哪里?
标签: windows azure docker jenkins