Jenkinsmvncommandnotfound
在Linux中使用Jenkins时, 在jenkinsFile中添加了sh "mvn --version"
命令,但Jenkins报错:mvn: command not found
仔细查了一下, 发现了问题的原因. 我对于java或maven的路径的环境变量是放在/etc/profile中的, 而/etc/profile只有在用户登录的时候才会被load,Jenkins在运行命令时,使用的是Non-login的方式,而这种方式在运行命令时,/etc/profile是不会被load进来的,所以jenkins只能在当前路径下寻找可执行文件.
解决方式:
在Jenkins的设置中可以设置全局变量, jenkins主页面->Manage Jenkins->Configure System->Global Properties 中, 将Environment variables复选框选中,会出来List of variables, 填入以下内容:
- name: JAVA_HOME value:XXX
- name: M2_HOME value:/usr/cyz/apache-maven-3.6.1
- name:
PATH+EXTRA
value: $M2_HOME/bin
注意最后标红的 PATH+EXTRA
, 这表示PATH=EXTRA:$PATH, 即扩展当前的PATH变量.
设置之后build成功.
以上是 Jenkinsmvncommandnotfound 的全部内容, 来源链接: utcz.com/z/512097.html