我试图在远程Mac mini中运行iOS构建,该Mac mini作为代理连接到运行在Linux服务器上的Jenkins master。我已经安装了所有的依赖项,并通过.zshrc设置了env变量(zsh是 Catalina 和更高版本中的默认shell)。
当我在Jenkins Freestyle项目中通过Execute Shell
选项运行脚本(npm install,pod install等)时,它会抛出npm command not found
/pod command not found
。甚至当我在脚本开始时使用/bin/zsh
时,它也不起作用。
在jenkins构建过程中,有没有办法将shell切换到zsh/bash或者将所有配置导入sh?
2条答案
按热度按时间gkn4icbw1#
Jenkins在连接到slave(通过ssh)并加载env变量时会利用'rc'文件(这也意味着当您要更改rc文件中的任何内容时,您需要断开并重新连接slave以加载更改)。现在,它取决于您用来连接从机的User的默认SHELL设置。你需要检查并在正确的rc文件中相应地对齐env变量。
在目前的情况下,如果你不想改变什么,你也可以做一个
在你剧本的开头。这将加载该文件中定义的env变量
另一种方法是在节点配置中的“节点属性”下为节点设置env变量。
ffscu2ro2#
我已经成功在zsh shell中运行脚本。这是我的解决方案,
或
你可以根据需要改变为bash。