0

我有一个 Jenkins 的主从结构设置,在 Windows 服务器上创建了 Master,加上几个 Windows 从站和一个 Mac 从站。流程是这样的,

  1. Jenkins shell脚本触发一个shell命令(sh sample.command)[这在windows(使用win-bash)和mac节点上都使用......]

它触发 shell 脚本的第一步在 windows 和 mac slave 上都可以正常工作。

#!/bin/bash
echo “This is a shell script acting as a middleware to trigger the NAnt....”
echo "Calling NAnt...."
nant ${1} ${2} ${3} ${4}

2.现在,sample.command 有一个触发 nant 命令的代码,该命令在mac slave上不起作用并给我一个错误: nant: command not found

3.NAnt通过brew安装在Mac-slave上,当我从Mac机器触发这个shell脚本sample.command时,它工作正常并执行nant命令,但不能通过jenkins工作。

任何帮助将不胜感激,在此先感谢。

4

1 回答 1

0

我能够通过在 shell 脚本的开头设置 $PATH 变量来解决这个问题。只需在 shell 脚本中添加以下行,

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet/bin

这里提到的路径在其他机器上可能会有所不同,我所做的是,我在从 Mac 机器调用 shell 并复制粘贴时检查了 $PATH 并且有效。

于 2016-07-04T13:44:51.427 回答