1. 背景
作为后台开发,每次咱们开发完或许修改一个bug后都要手动兼并,打包或许衔接服务器履行打包布置指令,每次手动操作,极大的影响了咱们的开发功率,那么有没有一款东西能让咱们只需要推送/兼并代码到远端就能完成服务主动打包,发布,布置,告诉呢。因而,今日介绍的jenkins和gitlab就来了。
2. jenkins介绍
这儿简介和安装就省掉了,各位能够自行百度/谷歌学习下,它在咱们的主动布置计划里做的重要人物就是打包,发布,布置,告诉
3. gitlab介绍
做为“程序猿”的咱们,相信这款东西也不会陌生,代码管理开源项目
4. 主动布置流程
4.1 流程图
4.2 各部分详解
- 开发推送/兼并代码到咱们的布置分支
- 代码推送到布置分支后,触发咱们的推送事情,然后调用jenkins的布置使命
- jenkins收到布置告诉后,调用企业微信的webhook发送音讯,“XX项目开始布置”
- jenkins经过git插件拉取gitlab对应分支的代码
- maven打包
- 第五步maven打包完成后,如果是布置在宿主机服务器,则经过ssh推送jar包到对应的服务器上,并履行重启指令
- 最后发送企业微信告诉布置完成,耗时多少。
4.3 实际操作
-
好了,各部分的现已大致介绍完成了,下面咱们经过一个小的demo来完成咱们的实际操作
-
推送代码到长途分支这块咱们就不用说了
-
gitlab的推送事情介绍
- 咱们挑选对应项目的webhooks装备
- jenkins的使命地址,这个和jenkins的使指令牌后续介绍
- jenkins使指令牌
- 触发事情,能够看到有多种事情,这儿咱们挑选的是推送事情,而且咱们装备的是develop分支的推送事情
- 咱们挑选对应项目的webhooks装备
4.4 jenkins对应job布置
-
新建使命
-
填入使命称号,这儿咱们挑选一个自由风格的使命
-
装备咱们项目的gitlab地址
-
装备长途触发地址
-
挑选构建触发器,并把该url填入咱们的gitlab的webhooks事情的url中
-
点击高级,生成授权码, 并把授权码填入gitlab的webhooks令牌中
-
-
装备maven构建打包
-
装备ssh发包
-
装备企业微信告诉
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