首页 > Web开发 > 详细

Git+Jenkins+Docker实现web项目的自动部署

时间:2017-02-06 18:33:52      阅读:1100      评论:0      收藏:0      [点我收藏+]

实验中使用的Git平台:

  GitOsc


实验目的:

GitOsc上传新代码后,自动通过Maven打包,然后构建相应的Tomcat镜像,并启动容器


一、准备GitOsc:

1.准备项目文件

技术分享

2.准备GitOsc

技术分享

注:

提示输入用户名和密码的时候,用户名使用完整的邮箱名

 

3.上传原始文件

git add *

git commit -m "AddFile"

git push origin master

技术分享

 

二、配置Jenkins:

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

 

技术分享

技术分享

 

三、在GitOsc上配置PUSH钩子:

技术分享

http://ghx:63919fc15e0b82c9b8c3ac47af8dabbd@180.172.232.87:9999/job/test-hello/build?token=test-token

//必须使用Jenkins的公网IP,注意映射9999端口和50000端口

 

四、修改hello项目的源代码,并pushGitOsc上:

1.修改源代码

技术分享

 

2.上传新文件

git add *

技术分享

 

git commit -m "Add newfile"

git push

 

 

效果:

技术分享

技术分享

 

 

技术分享

技术分享

 

shell脚本:

Registry_URL=192.168.1.200:5000
tmpfile=/root/tempfile
if [ -e $tmpfile ] ; then
   sum=`cat $tmpfile`
   i=`expr $sum + 1`
else
   sum=0
   i=`expr $sum + 1`
fi
docker build -tmaven-hello:test $WORKSPACE/hello-maven
docker create --namemaven-hello maven-hello:test
docker cpmaven-hello:/hello/target/hello.war $WORKSPACE/hello-tomcat
docker build -t$Registry_URL/tomcat-hello:test${i} $WORKSPACE/hello-tomcat
docker push$Registry_URL/tomcat-hello:test${i}
if docker ps -a |grep -itomcat-hello ; then
docker rm -f tomcat-hello
fi
docker run -d -p 8888:8080--name tomcat-hello $Registry_URL/tomcat-hello:test${i}
if docker images$Registry_URL/tomcat-hello | grep test${sum}  ; then
docker rmi -f$Registry_URL/tomcat-hello:test${sum}
fi
if docker ps -a |grep -imaven-hello ; then
docker rm -f maven-hello
fi
if docker images maven-hello |grep test  ; then
docker rmi -f maven-hello:test
fi
echo $i >$tmpfile


 

脚本作用:

 

1.设置一个临时文件,记录该任务执行次数,用于做Tag

2.构建顺序:

使用源代码构建maven镜像,同时制作成war->maven容器中导出war->构建新的tomcat镜像->push到私有仓库

3.删除原来的tomcat容器,并通过最新的tomcat镜像运行一个新的tomcat容器

4.依次删除不必要的容器&镜像:

删除旧的tomcat镜像->删除刚创建的maven容器->删除刚构建的maven镜像

5.最后向临时文件中传入累计数,供下次任务使用


Git+Jenkins+Docker实现web项目的自动部署

原文:http://362475097.blog.51cto.com/1808795/1895195

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!