解决Docker容器应用中mvn: command not found的问题

遇到的问题

刚刚在阿里的服务器上通过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的问题

你可能感兴趣的:(解决Docker容器应用中mvn: command not found的问题)