今天来了性趣,发一篇博文吧,也为行业贡献一点 记得从2010年就开始使用 jenkins,哪时不太懂,这些年越来越熟悉
以前使用jenkins是这样的: maven 父子工程,jenkins 构建开始,jenkins从svn获取代码,哪时git还没有诞生,获取代码后,maven编译打包,编译报错,直接发邮件,将war包发布到tomcat目录,启动tomcat。
现在一切都在变化,从git获取代码,maven打包,通过shell脚本将包copy到指定目录,启动docker, 我们用的gogs作为git仓库,每次开发人员提交代码,自动触发jenkins构建------ 直接上截图:

2、

3、

因为没有安装git,截图里写错了
4、centos7 安装好git ,在jenkins里配置一下,不会安装git 的,请自行百度

——————————————————————————————————————

——————————————————————————————————————————

——————————————————————————————————————

——————————————————————————————————————————
5、构建前清理空间

6、构建



clean compile package -Dmaven.test.skip=true
7、


——————————————————————————
cp /var/lib/jenkins/workspace/mdjr-oa/target/mdjr-oa-0.0.1-SNAPSHOT.jar /docker/maven-tar/mdjr-oa/
#删除无引用的镜像和容器服务
#docker rm $(docker ps -a -q)
#docker rmi $(docker images -a -q)
#查询服务是否运行 docker ps –a –f ancestor=hello-world 或 dockerps –s –filter=”ancestor=hello-world” ancestor代表image
dockfw=$(docker ps -q -f name=oa-server | grep -v grep | wc -l)
if [ $dockfw -gt 0 ];
then
#停止服务
docker stop oa-server
# -f 强删除服务
docker rm -f oa-server
else
print "oa-server is not found"
fi
#查询镜像是否存在 ocker images -q --filter=reference='mdjr/oa-server:1.0.0' | grep -v grep | wc -l
dockjx=$(docker images -q -f reference=mdjr/oa-server:1.0.0 | grep -v grep | wc -l)
if [ $dockjx -gt 0 ];
then
# -f 强删除镜像
docker rmi mdjr/oa-server:1.0.0
else
print 'oa-server mirror image is not found';
fi
sleep 1
#到Dockerfile所在目录
cd /docker/maven-tar/mdjr-oa
#创建镜像
docker build -t mdjr/oa-server:1.0.0 .
sleep 3
# -d 后台运行,表现在jenkins控制台不打印docker logs 服务日志,如果不加-d,由于一直在打印日志,所以构建不会结束
docker run -d -p 6060:6060 --name oa-server --net=host mdjr/oa-server:1.0.0
# 在这里加这个不生效 -v /etc/localtime:/etc/localtime:ro 所以在Dockerfile中加 Duser.timezone=GMT+08 或 RUN echo "Asia/shanghai" > /etc/timezone; 都行
#docker run -d -p 6060:6060 --name oa-server -v /etc/localtime:/etc/localtime:ro --net=host mdjr/oa-server:1.0.0 /bin/bash
#docker run -ti -d --name my-nginx -v /etc/localtime:/etc/localtime:ro
——————————————————————————
8、一切完成后,jenkins 删除空间的构建文件

9、

10、配置 提交代码到 git ,jenkins 自动构建

————————————————————————————————————

——————————————————————————————————

——————————————————————————————————————————
11、回到oa-server的配置中

——————————————————————————————————————————
12、到gogs中去

————————————————————————————————————

————————————————————————————————————

——————————————————————————————————————————

点击测试推送,看看jenkins是不是在构建
转载于:https://my.oschina.net/prosouly/blog/1837033