Gitlab + Jenkins 的 CI 实践


0x00 事件

为了开发人员更高效的更新应用而采取的 CI 方式实践。

0x01 过程记录

1、Jenkins 设置
安装插件
Gitlab Hook PluginBuild Authorization Token Root Plugin 配置 Jenkins 工程

jenkins+gitlab自动化发布maven架构图 jenkins gitlab ci_Jenkins

勾上 Build when a change is pushed to GitLab. GitLab webhook URL:,后面这个 ULR 等下在 Gitlab 会用到;接着点击右下角的 Advanced… 展开其他选项

jenkins+gitlab自动化发布maven架构图 jenkins gitlab ci_开发人员_02

往下拉,选择 Filter branches by name,并在 Include 中填入需要持续集成的分支,比如这里是 test 分支;
接着点击 Generate,生成 token,这个 token 等下在 Gitlab 也会用到。

jenkins+gitlab自动化发布maven架构图 jenkins gitlab ci_推送_03

保存设置。
2、Gitlab 设置
在项目的设置中设置 Webhooks

jenkins+gitlab自动化发布maven架构图 jenkins gitlab ci_Jenkins_04

将刚刚在 Jenkins 任务配置中的 GitLab webhook URL 和生成的 Secret token,复制进来

jenkins+gitlab自动化发布maven架构图 jenkins gitlab ci_推送_05

Add Webhook

jenkins+gitlab自动化发布maven架构图 jenkins gitlab ci_Jenkins_06

添加的 Webhook 会在底部显示,可以点击下 test 测试下状态,如果是 200,说明可用。

jenkins+gitlab自动化发布maven架构图 jenkins gitlab ci_开发人员_07

0x02 持续集成测试

做这件事情,主要是能让开发人员能一提交代码,就完成一系列构建、更新部署的步骤。
让开发人员合并测试代码来校验可用性,在任务构建历史中,能看到来自开发人员的代码推送触发的构建,构建完成后服务更新。

jenkins+gitlab自动化发布maven架构图 jenkins gitlab ci_开发人员_08