Jenkins + gitlab 自动部署
今天我们介绍了整个jenkins+gitlab的自动部署流程,用了最简单的例子来说明,如果要部署多个服务器,我们也可以在构建的时候添加多个服务器,这里是串行部署的,如果需要并行部署的话我们也可以通过pipeline的parallel ssh_publishers命令执行并行部署;如果你用的是docker或者k8s部署项目的话,我们也可以把发包的步骤换成打包后构建镜像然后推送到harbor中,通过执
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
4.2 各部分详解
- 开发推送/合并代码到我们的部署分支
- 代码推送到部署分支后,触发我们的推送事件,然后调用jenkins的部署任务
- jenkins收到部署通知后,调用企业微信的webhook发送消息,“XX项目开始部署”
- jenkins通过git插件拉取gitlab对应分支的代码
- maven打包
- 第五步maven打包完成后,如果是部署在宿主机服务器,则通过ssh推送jar包到对应的服务器上,并执行重启命令
- 最后发送企业微信通知部署完成,耗时多少。
4.3 实际操作
- 好了,各部分的已经大致介绍完成了,下面我们通过一个小的demo来完成我们的实际操作
- 推送代码到远程分支这块我们就不用说了
- gitlab的推送事件介绍
1. 我们选择对应项目的webhooks配置
1. jenkins的任务地址,这个和jenkins的任务令牌后续介绍
2. jenkins任务令牌
3. 触发事件,可以看到有多种事件,这里我们选择的是推送事件,并且我们配置的是develop分支的推送事件
4.4 jenkins对应job部署
- 新建任务
2. 填入任务名称,这里我们选择一个自由风格的任务
3. 配置我们项目的gitlab地址
4. 配置远程触发地址
1. 选择构建触发器,并把该url填入我们的gitlab的webhooks事件的url中
![](https://img-blog.csdnimg.cn/img_convert/724703cb05ed13845669e59fa19d8daf.webp?x-oss-process=image/format,png)
2. 点击高级,生成授权码, 并把授权码填入gitlab的webhooks令牌中 ![](https://img-blog.csdnimg.cn/img_convert/b0882d0a9358899d8431c894959fd503.webp?x-oss-process=image/format,png)
- 配置maven构建打包
6. 配置ssh发包
7. 配置企业微信通知
4.5 推送示例展示
可以看到,我们单个应用自动部署800+次了,开发只需要推送代码到远端,就会自动开始自动部署。
企业微信机器人通知,当然,如果不需要插件模板也可以通过其他可以发送http请求的来自定义发送通知内容。
5. 总结
今天我们介绍了整个jenkins+gitlab的自动部署流程,用了最简单的例子来说明,如果要部署多个服务器,我们也可以在构建的时候添加多个服务器,这里是串行部署的,如果需要并行部署的话我们也可以通过pipeline的parallel ssh_publishers命令执行并行部署;如果你用的是docker或者k8s部署项目的话,我们也可以把发包的步骤换成打包后构建镜像然后推送到harbor中,通过执行远程shell脚本部署docker,执行kuboard的ci/cd api来切换线上标签。
6. 附
- 各个jenkins步骤所用到的插件
- git及jdk配置, manage jenkins -> global tool configuration
- Maven 配置
- 新建maven,填入服务器上maven地址或者安装maven
- 其他插件
- manage jenkins -> Manager Plugin
- 企业微信通知插件 Qy Wechat Notification
- ssh推送插件 Publish Over SSH
- manage jenkins -> Manager Plugin
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取**【保证100%免费】
**
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
et/topics/618631832)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
更多推荐
所有评论(0)