插件介绍
此插件是一个构建触发器(Build Trigger),允许在 GitLab 中发生推送代码或创建合并请求时,触发 Jenkins 来执行构建任务。
插件站点:https://plugins.jenkins.io/gitlab-plugin
安装插件
Manage Jenkins => Manage Plugins => Available => GitLab Plugin
使用插件
该插件以作业为单位进行配置,所以以创建 Job 开始:
1)在 Jenkins 中,创建 Freestyle project 类型 Job;
2)在 Job 中,勾选 Build Triggers => Build when a change is pushed to GitLab. GitLab webhook URL: <WebHook URL>;
3)在点击 Advanced... 展开中,点击 Generate 生成 Secret token 参数;
4) 在 GitLab 的 WebHooks 中进行设置,填写 <WebHook URL> 与 Secret token 信息;
其他详细配置介绍:https://github.com/jenkinsci/gitlab-plugin
注意事项
查看 Pipline 和 Job DSL 示例:https://wiki.jenkins.io/display/JENKINS/Violation+Comments+to+GitLab+Plugin
兼容性:版本 1.2.1 插件为 Pipeline 引入了一个向后不兼容的更改。升级到此版本时,需要手动重新配置它们。Freestyle project 不会受到影响。有关详细信息,请参阅 README 文件。
变更日志查看 CHANGELOG 文件。
传入 Jenkins 的变量
在构建中,我们可以使用的变量,可以参考 Defined variables 页面。
如何获取在 WebHook 中的原始请求数据
# 07/21/2019 目前还没有获取 WebHook 原始数据的方法。倒是可以考虑 Generic Webhook Trigger Plugin 扩展。
Read json payload from gitlab webhook in Jenkins
Add the ability to parse the whole webhook JSON payload
How to read json payload from gitlab webhook in Jenkins #52
相关链接
Continuous Integration with Jenkins and GitLab
相关文章
「Jenkins Plugins」- Token Macro
「Jenkins Plugins」- Email Extension
「Jenkins」- Publish Over ...(学习笔记)
参考文献
Jenkins/Plugins/GitLab
GitHub/jenkinsci/gitlab-plugin