一、流程图
1
二、成果
1
三、技术分析
1.Gitlab:Web Hooks(代码提交,触发构建)
Webhook ,也就是人们常说的钩子。通过定制 Webhook 来监测你在 Gitlab上的各种事件,最常见的莫过于 push 事件。如果设置了一个监测 push 事件的 Webhook,那么每当你的这个项目有了任何提交,这个 Webhook 都会被触发,这时 Gitlab 就会发送一个 HTTP POST 请求到你配置好的地址。
操作步骤:
1)Jenkins安装插件Gitlab Hook Plugin、GitLab Plugin,在Job的设置页勾选Build Triggers下的配置,记下URL
1
2)gitlab代码设置页面,进入Web Hooks页面,添加Jenkins页面的几下的URL,添加完成点击Test Hook,验证是否成功,若成功会自动触发Jenkins构建
1
2.Docker:Dockerfile、Maven-image、Volume
1)通过docker volume创建数据卷maven-repo用于存放maven仓库依赖包,防止每次编译前重复下载
#docker volume create maven-repo
2)制作Maven images镜像,用于获取内部maven仓库,基于官方maven镜像
dockerfile:
FROM 192.8.19.140/library/maven:3.3.9-jdk-7
COPY settings.xml /usr/share/maven/conf/settings.xml
3)创建基于项目的dockerfile文件,此文件用于在maven编译生成新war包后,更新原有镜像war包(放置代码根目录)
dockerfile:
FROM 192.8.19.140/project/lynx:latest
COPY lynx/target/lynx.war /usr/local/tomcat_lynx/webapps/

3.Jenkins 2.x:Pipeline-Jenkinsfile
操作步骤:
1)Jenkins 创建Pipeline项目,如下配置:
1
2)Jenkinsfile文件(与上面的dockerfile同样与代码放在同级目录)
1
配置完成实现完整流程
开发提交代码后,自动触发Jenkins:取代码-编译-构建镜像-上传镜像-秒级部署容器

Comments are closed.

Post Navigation