Jenkins 报mvn:command not found、npm:command not found

我们在使用Jenkins进行构建项目时,绝大部分会使用到maven、nodejs相关的命令,有很多小伙伴肯定遇到了明明在服务器已经安装好了maven、nodejs相关程序,并且在jenkins配置了maven但是在Jenkins shell、pipeline script中使用mvn、npm命令还是报command not found的错误,如下图:

Jenkins 报mvn:command not found、npm:command not found

但是在Jenkins中执行上述命令时就会报错:

Jenkins 报mvn:command not found、npm:command not found

Jenkins 报mvn:command not found、npm:command not found

其实是因为jenkins里面没有我们服务器path的环境变量,所以才会出现找不到命令的错误。

解决方案:

在Jenkins部署服务器输出一下PATH路径:

echo $PATH

 

如下结果

Jenkins 报mvn:command not found、npm:command not found

然后在Jenkins -> Manager Jenkins -> Configure System中添加环境变量:

Jenkins 报mvn:command not found、npm:command not found

找到 Global properties,勾选中Environment variables,一个PATH变量以后保存

Jenkins 报mvn:command not found、npm:command not found

注:PATH是大写哦

此时我们再构建一下刚才的测试项目:

Jenkins 报mvn:command not found、npm:command not found