一、获取镜像

docker pull jenkins/jenkins:lts

二、创建容器

docker create --name jenkins -u root -p 8889:8080 --privileged=true \
 -v /opt/jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/jenkinsci/blueocean:/home \
jenkins/jenkins:lts

三、启动容器

docker start 4878db4250b4

访问:
http://192.168.25.136:8889/

root
123456

 

四、jenkins安装插件失败

 

 

如果默认的境外的软件源报超时的错误,可以修改成国内的清华源:

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

 

 

进入容器,更新镜像源
docker exec -it 4878db4250b4 bashs
apt-get update
apt-get install vim
https://blog.csdn.net/zysgdhf4253/article/details/80917129
docker容器里面安装vim

五、安装maven插件

maven安装,登录jenkins容器中
docker exec -it f3bdebd03cb0 bash
下载maven包
wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解压
tar -xzvf apache-maven-3.6.3-bin.tar.gz

 

 

也可以在创建Jenkins时挂载宿主机maven目录进行安装
docker create --name jenkins -u root -p 8889:8080 --privileged=true \
-v /opt/jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/software/apache-maven-3.6.3:/usr/local/maven
-v /opt/jenkinsci/blueocean:/home \
jenkinsci/blueocean
宿主机maven环境变量还是要配置上

六,设置全局环境变量

执行shell命令
cd xc-govern-center/
mvn -f pom_docker.xml clean package -DskipTests docker:build

 

 

[wentestwo] $ /bin/sh -xe /tmp/jenkins4981408991486797185.sh
+ cd xc-govern-center/
+ pwd
+ echo /var/jenkins_home/workspace/wentestwo/xc-govern-center
/var/jenkins_home/workspace/wentestwo/xc-govern-center
+ mvn -f pom_docker.xml clean package -DskipTests docker:build
/tmp/jenkins4981408991486797185.sh: 4: /tmp/jenkins4981408991486797185.sh: mvn: not found
Build step 'Execute shell' marked build as failure
Finished: FAILURE

 

Jenkins 通过shell脚本调用mvn 命令的时候,是从/usr/bin 文件夹中找命令的,这个时候需要做个软链接

ln -s /home/apache-maven-3.6.3/bin/mvn /usr/bin/mvn

仔细查了一下, 发现了问题的原因. 我对于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:/usr/local/openjdk-8
name: M2_HOME value:/home/apache-maven-3.6.3
name: PATH+EXTRA value: $M2_HOME/bin

注意最后标红的 PATH+EXTRA, 这表示PATH=EXTRA:$PATH, 即扩展当前的PATH变量.
设置之后build成功.