如何解决无法在Jenkins Execute Shell中使用zsh / bash
我正在尝试在作为代理连接到Linux服务器上运行的Jenkins master的远程Mac mini中运行iOS版本。我已经安装了所有依赖项,并通过.zshrc设置了env变量(zsh是catalina及更高版本中的默认shell)。
当我通过Jenkins Freestyle项目中的Execute Shell
选项运行脚本(npm安装,pod安装等)时,它将抛出npm command not found
/ pod command not found
。即使我在脚本开始时用/bin/zsh
猛击,也不起作用。
在jenkins的构建过程中,是否有将shell切换到zsh / bash或将所有配置导入sh的方法?
解决方法
Jenkins在通过ssh连接到从站时使用rc文件并加载env变量(这也意味着当您要更改rc文件中的任何内容时,您需要断开连接并重新连接从站以加载更改) )。现在,它取决于用于连接从站的用户的默认SHELL设置。您需要检查并在正确的rc文件中相应地对齐env变量。
在当前情况下,如果您不想更改任何内容,也可以做
source ~/.zshrc
在脚本开头。这将加载该文件中定义的环境变量
另一种方法是在节点配置的“节点属性”下设置节点的env变量。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。