遇到的问题
刚刚在阿里的服务器上通过docker的方式搭建了Jenkins环境。安装后一切正常,但是在使用后遇到了一个问题,就是我的项目都是用maven运行打包,生成docker镜像并自动上传到阿里云服务器上。第一次build就遇到了以下错误提示:
mvn: not found
Build step 'Execute shell' marked build as failure
问题产生的原因
由于我的jenkins是在docker中安装的,默认没有maven运行环境
解决办法
1. 映射Jenkins工作目录
/mnt/jenkins_home:/var/jenkins_home
2. 挂载宿主机目录来提供maven安装目录
/mnt/software/apache-maven-3.6.3:/usr/local/maven/maven3
3. 手动设置环境变量
挂载宿主机的maven后,mvn的command命令还是无法直接运行,还需要手工进行设置。
在宿主机上新建目录:
mkdir /mnt/conf
touch /mnt/conf/maven.conf
在maven.conf中写入如下内容:
# maven环境变量
export M2_HOME=/usr/local/maven/maven3
export PATH=$PATH:$JAVA_HOME/bin:$M2_HOME/bin
在/mnt/jenkins_home目录下新建文件
touch /mnt/jenkins_home/.bashrc
写入如下内容:
cat /conf/maven.conf >> /etc/profile
source /etc/profile
4. 挂载conf目录
/mnt/conf:/conf/
参考资料
解决Docker容器应用中mvn: command not found的问题