“Nant”在 Jenkins Mac Slave 上无法识别为命令

问题描述 投票:0回答:1

我创建了一个 Jenkins 的主从结构设置,其中主服务器位于 Windows 服务器上,加上一些 Windows 从服务器和一个 Mac 从服务器。 流程是这样的

  1. Jenkins shell脚本触发一个shell命令(sh example.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 从属 上不起作用并给我一个错误: nant:找不到命令

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

macos shell jenkins nant jenkins-agent
1个回答
0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.