我有一个工作失败的奴隶,在主人身上建立好.SVN安装在主站上与从站相同的位置/usr/local/bin/svn.我在奴隶上有一个Jenkins用户,它可以运行svn --version正常.
[INFO] Executing: /bin/sh -c cd /var/jenkins/workspace/projecta && svn --non-interactive update /var/jenkins/workspace/projecta
[ERROR] Provider message:
[ERROR] The svn command failed.
[ERROR] Command output:
[ERROR] /bin/sh: svn: not found
Run Code Online (Sandbox Code Playgroud)
我正在使用Subversion插件,这在slave上工作正常,并在作业开始时运行.问题似乎是某些模块使用maven内部版本号插件.
正如您在上面的日志中所看到的,这是运行一个脚本,该脚本似乎作为从属服务器上的Jenkins用户运行,并在主机上获取客户端,该客户端是不同的版本.
因此,我认为它是使用Subversion插件版本检出代码,然后尝试在主机的PATH上使用旧版本更新日期.这一切都在master上工作正常,因为它只有一个版本的svn.
注意:Jenkins Shell运行为/ bin/sh,而不是bash,所以很多你期望在bash中可用的路径实际上并不存在.即使您svn --version成功运行jenkins用户,也可能使用bash(因此它已将某些正常路径加载到PATH变量中).
选项1
将以下内容添加到"Execute Shell"或shell脚本中:
PATH = $ PATH:在/ usr/local/bin目录
应该让它找到颠覆.但是,您必须为每项工作执行此操作.
方案2 - 更好的选择
另一个选项是在从属配置页面上添加以下内容:
配置
环境变量
name = PATH value = $ PATH:/ usr/local/bin
这应该为您在此从站上运行的每个构建自动设置它.你可以在这里看到其他路径.
再次注意,当您在从属页面上显示"系统信息"时,这将不会显示(它显示默认的系统信息).但是,它会为每个构建添加
| 归档时间: |
|
| 查看次数: |
6564 次 |
| 最近记录: |