我正在设置Jenkins以取代我们当前的TeamCity CI版本。如何将路径变量添加到作业shell中
我已经创建了一个自由风格的软件项目,以便我可以执行一个shell脚本。 Shell脚本运行mvn命令。
但构建失败,抱怨无法找到'mvn'命令。
我认为这是因为詹金斯在不同的shell中运行构建,在其路径上没有Maven。
我的问题是;如何添加路径,以便在shell脚本中找到“mvn”?我环顾四周,但无法找到正确的地方。
谢谢你的时间。
我正在设置Jenkins以取代我们当前的TeamCity CI版本。如何将路径变量添加到作业shell中
我已经创建了一个自由风格的软件项目,以便我可以执行一个shell脚本。 Shell脚本运行mvn命令。
但构建失败,抱怨无法找到'mvn'命令。
我认为这是因为詹金斯在不同的shell中运行构建,在其路径上没有Maven。
我的问题是;如何添加路径,以便在shell脚本中找到“mvn”?我环顾四周,但无法找到正确的地方。
谢谢你的时间。
我通过在Jenkins Job配置中导出和设置Path来解决这个问题,您可以在其中输入shell命令。所以我在执行我的Shell脚本之前设置了环境变量,作为一种享受。
一些可能的解决方案:
ps .:通常/bin/sh
是从詹金斯选择,如果你想切换到例如。 bash,你可以在jenkins系统设置中配置它,以防你想配置全局环境变量。
Dags建议的另一个选择是,如果您只使用单一版本的maven,则可以在每个从属服务器上执行; * add PATH = $ {PATH}: *将mvn符号链接到/ usr/bin中; sudo ln -s/usr/bin
我现在不在詹金斯盒子,但是如果你愿意的话,我可以找到更详细的例子。
詹金斯默认使用sh而不是bash。 这是我第一次定义一个jenkins maven作业,并且我也遵循soem常规maven指令(用于从命令行运行...),并试图用M2_HOME,M2,PATH更新〜/ .bashrc,因为詹金斯使用sh而不是bash。然后我发现詹金斯有一种更简单更好的方法。
安装maven之后,我应该在jenkins中配置我的maven安装。
要配置Maven安装在詹金斯:
定义与作业Maven的目标
您可以使用envInject plugin。它非常强大。
我用它来安装rbenv。它可以将环境变量注入到当前作业中。