写点什么

GitLab Webhooks 使用

用户头像
夏兮。
关注
发布于: 2021 年 05 月 11 日

Webhooks

在 GitLab 的项目中,通常会使用 Webhook 的各种事件来触发对应的构建,通常配置好后会向设定好的 url 发送 post 请求。

与 Jenkins 的集成

jenkins 插件


Build Triggers


配置 build trigger,:


拷贝 webhook url,token,配置 webhooks 填上相应的值。

测试,相应的 jenkins job 会被执行


测试通过,会看到 http 请求返回 200;


查看 webhook request:

在 edit 里面我们可以查询到最近的 trigger,看到完整的 Request details,在这里的我们可以拿到想要的值用在 pipeline 里面



这里的插件已经有封装好的暴露在外的可用变量,这些的变量可以在 pipeline 中使用,

 echo env.gitlabMergeRequestIid echo env.gitlabMergeDescriptionecho gitlabMergeRequestLastCommit
复制代码

Generic Webhook Trigger



这里可以选择你需要配置的参数。具体的 jenkins pipeline

   triggers {        GenericTrigger(                genericVariables: [                        [key: 'REF', value: '$.ref'],                        [key: 'COMMIT', value: '$.after'],                ],                genericHeaderVariables: [                        [key: 'X-GitLab-Event']                ],                causeString: "Triggered by pushing to $ref",
token: 'att',
printContributedVariables: true, printPostContent: true,
regexpFilterText: '$x_gitlab_event on $REF', regexpFilterExpression: '^Push Hook\\son\\srefs/heads/master' )
复制代码

常用 events

Merge Requests Events:当一个 merge request 被创建,更新或者 merged; 使用场景,当有开发提交一个 mr 后通过这个事件触发相应的测试,比如 UT/IT,只有当测试通过了才允许 merged。

Push Events: 当有代码 push 到 repo,这里可以设置具体的 branch;使用场景,基于 master 发布的流程,可以通过 push 事件去构建对应的测试环境

Tag Push Events: 当有新的 tag push 到 repo,使用场景,可以通过 tag 去发布 regression stage production 环境

Comments: 当添加一些 Comment

发布于: 2021 年 05 月 11 日阅读数: 36
用户头像

夏兮。

关注

星辰大海... 2018.03.21 加入

测试开发工程师 热爱技术,热爱生活

评论

发布
暂无评论
GitLab Webhooks 使用