基于GitLab的持续集成机制
基于GitLab的持续集成机制
介绍
一般代码提交的流程
- 开发人员从远程中央仓库(例如DEV)拉取最新代码
- 在本地创建自己的分支
- 在自己的分支完成开发
- 完成一个功能并且通过自测后,提交本地版本库(commit到本地分支)
- 在本地版本库推送到远程中央仓库自己的分支(push到远程自己分支)
- 在远程中央仓库自己的分支中,提交
Merge Request(合并请求,简称MR),源分支选择为自己的分支,目标分支为DEV分支,提交MR - 等待有权限的人员进行
MR操作
完成集成测试的步骤
- 从远程中央仓库拉取到合并后的
DEV代码 - 执行项目代码的打包(如有单元测试,打包过程中可以运行)
- 启动服务
- 拉取测试代码
- 运行测试
通过jenkins自动完成GitLab集成测试
- 安装
jenkins的GitLab插件 : jenkins插件管理中下载 - 建立服务启动
job: 创建一个job(自由风格便可) - 在项目代码中建立与
jenkins的hook关联- 获取一个gitlab项目的setting权限,通过该权限可以获取到项目的hook值
- 在
jenkins创建job时选择构建触发器->Build when a change is pushed to GitLab - 然后在细分选项中选择自己需要的一些触发事件,比如
Push EVENTS(推送)
- 建立测试
job作为服务启动job的子job:创建job成功后验证如果进行代码PUSH操作是否会触发jenkins中job的执行
注意,这里的jenkins服务需要能够访问到GitLab
配置hook的详细操作
- 在
job构建中找到Build when a change is pushed to GitLab webhook URL:XXXXX- 其中
xxx是这个job的地址
- 其中
- 往下看,点开高级选项,看到一个Secret_token 的生成按钮,生成token,然后保存。
- 然后回到
GitLab项目中,点击设置,选择webhook,然后填写[URL:job地址] [Secret token:刚刚生成的token] - 在
GitLab中选择触发事件 - 保存,配置结束

总结
通过在Jenkins,gitlab中配置触发事件,使得当gitlab仓库发生PUSH,COMMIT等操作时同步驱动job的执行。