文章

jenkins中mvn指令报错

在jenkins中构架mvn项目,之前是用的mvn插件,但是总是有奇奇怪怪的错误,其中一个就是我在配置了全局工具后,他是使用我在mvn插件中的路径,而不是宿主机中的路径,索性就直接新建一个正常的项目,然后使用shell脚本自己构建了,也就是一行命令的事情。

但是在我新建了一个空白项目之后出现这个错误:

QQ_1732689438810

这是因为:jenkins默认情况下执行shell脚本是使用非登录方式,执行shell脚本时不会去加载/etc/profile。

找到原因后,参考了很多网上的解决方法,比如在shell脚本前添加#!/bin/sh -l,又或者在jenkins中配置全局的maven变量,又或者将maven的文件夹的拥有者和所在组都递归赋给jenkins用户,都不好使。最终我使用了最简单粗暴的方式,将上面报错的mvn命令,直接替换成服务器上which mvn得到的绝对路径:

1
/home/May/apache-maven-3.6.3/bin/mvn clean package 

重新构建,终于构建成功。

本文由作者按照 CC BY 4.0 进行授权