我创建了一个 Jenkins 的主从结构设置,其中主服务器位于 Windows 服务器上,加上一些 Windows 从服务器和一个 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 从属 上不起作用并给我一个错误: nant:找不到命令
3.NAnt通过brew安装在Mac从机上,当我从Mac机器触发这个shell脚本sample.command时,它工作正常并执行nant命令,但不能通过jenkins工作。
我可以通过在 shell 脚本开头设置 $PATH 变量来解决这个问题。只需在 shell 脚本中添加以下行,
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/share/dotnet/bin
这里提到的路径在其他机器上可能会有所不同,我所做的是,我在从 Mac 机器调用 shell 时检查了 $PATH 并复制粘贴并且有效。