当前位置: 代码迷 >> 综合 >> Jenkins 进阶06 Generic Webhook 实践优化 GitLab提交流水线优化
  详细解决方案

Jenkins 进阶06 Generic Webhook 实践优化 GitLab提交流水线优化

热度:40   发布时间:2023-09-30 12:50:47.0

Jenkins 进阶06 Generic Webhook 实践优化 GitLab提交流水线优化

过滤新建分支和tag的触发


你可能发现问题了,新建一个分支或者标签也会出现构建,这个构建是没有意义的。我们需要排除掉。没错,jenkins 的 Generic webHook 也是支持的。

Jenkins 进阶06 Generic Webhook 实践优化 GitLab提交流水线优化

可以看到before的值为40个0说明是新建一个分支,或者tag动作,通过这个值来限定不触发。 

参考官方的说明:generic-webhook-trigger-plugin/gitlab-push-ignore-create-remove-branch.feature at master · jenkinsci/generic-webhook-trigger-plugin · GitHub

Jenkins 进阶06 Generic Webhook 实践优化 GitLab提交流水线优化

 添加三个变量,获取当前的提交信息 $object_kind $before $after

此步骤一定要注意下参数名和值后面的空格,要去掉

Jenkins 进阶06 Generic Webhook 实践优化 GitLab提交流水线优化

通过正则表达式配置触发条件:Expression ^push\s(?!0{40}).{40}\s(?!0{40}).{40}$ Text $object_kind $before $after。 push请求只有after和before的值都不是40个0的时候触发构建(为40个0的情况是删除分支或者新建分支)

^push\s(?!0{40}).{40}\s(?!0{40}).{40}$$object_kind $before $after

Jenkins 进阶06 Generic Webhook 实践优化 GitLab提交流水线优化

如何支持多个分支触发构建?


创建多个gitlab webhook 指向同一个jenkins 作业就可以了。

Jenkins 进阶06 Generic Webhook 实践优化 GitLab提交流水线优化

  相关解决方案