上文我们讲述了jenkins插件安装及配置 Docker持续集成(七)jenkins之插件安装及配置
本文我们讲解自动化打包、部署
一、创建任务
二、源码管理,选择Git
三、Build
注意点:
1) 我配置的git路径下面是多个项目,这里配置的jack-discovery-eureka工程,所以Root Pom配置的是"jack-discovery-eureka/pom.xml",如果你直接配置的是工程的git地址,则Root Pom这里直接填写"pom.xml"即可
2) 下面命令不要在最前面加"mvn",否则会报错。docker:build 表示的是创建镜像
四、Post Steps
4.1 点击Add post-build step, 选择执行 Execute shell
4.2 输入shell命令,这里可以直接填写命令,也可以执行 shell 脚本,我这里添加了2个shell串口。
说明:
第一个是推送镜像到私有仓库
第二个是执行一个启动脚本、脚本内容如下:
# 判断是否拉取镜像
docker images 192.168.1.8:5000/demo:0.0.1-SNAPSHOT &> /dev/null
if [ $? -ne 0 ]
then
docker pull 192.168.1.8:5000/demo:0.0.1-SNAPSHOT
else
echo "images is exists !!"
fi
# 判断是否启动该容器
docker ps | grep demo-test
if [ $? -ne 0 ]
then
echo "启动进程"
docker run -d -p 8080:8080 --name=demo-test --privileged --restart=always 192.168.1.8:5000/demo:0.0.1-SNAPSHOT
else
echo "重启进程"
fi
总结:
1) 我在jenkins执行shell命令"docker ps | grep demo-test"会发生错误,所以我用的一个脚本命令来执行;
2) shell命令if else $? -ne 命令 学习了解,见博文:centos7 常用shell 命令整理
3) 这里启动单个工程可以这样玩、如果启动的工程有依赖工程怎么处理?可以一个一个的去启动,但是效率是否不太高?是否有更好的方式?
五、启动任务
5.1 主界面启动任务
5.2 查看日志
5.3 日志界面