本文是此长文中的部分内容,方便初学者照着操作。
Gitlab 自动触发 Jenkins 流水线
对接说明
Gitlab 和 Jenkins 对接有两种形式,一种是通过 Webhook 进行对接,在用户将代码提交到 Gitlab 后,自动调用 Jenkins Webhook,触发 Jenkins 相应的流水线。
另一种是官方推荐的在 Gitlab 中使用 Jenkins 集成,但是测试发现这种集成一直失败,报“连接失败。请检查您的集成设置”,于是最终还是用了 Webhook 的形式。
Jenkins 侧配置
安装 Gitlab 集成插件
访问下列 URL,在搜索框输入“Gitlab”,找到 GitLab Plugin 并进行安装。
https://jenkins.halfcoffee.com/manage/pluginManager/
编辑 Jenkins 流水线
在流水线中开启“Build when a change is pushed to GitLab. ”,记录后面的 URL,勾选 Push Events:
点开配置的高级选项,然后生成并记录 Secret token:
Gitlab 侧配置
在仓库的>设置>Webhooks中添加新的webhook:
URL 选择上个章节复制的 URL,Secret 令牌填写生成的 Secret Token,按需设置在什么时候触发流水线(此处是有任何 Push 事件时):
配置完成后点击测试>推送事件
返回码为 200 时即表示配置正确,点击保存更改:
Jenkins 侧检查
回到 Jenkins 中,可以看到系统自动进行了构建,原因是“Started by gitlab push”