如何在 gitlab 中添加 webhooks for multibranch pipeline jenkins



我想为每次推送触发多分支管道,任何人都可以告诉我如何在 gitlab 中为多分支管道配置 web-hooks。

如果您想知道触发设置在多分支管道作业设置中的位置,这将回答它:

与其他作业类型不同,多分支作业配置不需要"触发器"设置;只需在 GitLab 中为指向项目的 webhook URL 的推送请求创建一个 webhook

来源: https://github.com/jenkinsci/gitlab-plugin#webhook-url

您还可以在 Jenkinsfile 中提供 Gitlab 触发器。您可以在上面提供的链接中看到示例。这就是我让它工作的方式:

pipeline {
agent {
node {
...
}
}
options {
gitLabConnection('GitLab')
}
triggers {
gitlab(
triggerOnPush: true,
triggerOnMergeRequest: true,
branchFilterType: 'All',
addVoteOnMergeRequest: true)
}
stages {
...
}
}

然后在您的 Gitlab 项目中转到 设置 -> 集成,并在"URL"中输入 Jenkins Job 项目 URL。网址应采用以下任一形式:

  • http://JENKINS_URL/project/PROJECT_NAME
  • http://JENKINS_URL/project/FOLDER/PROJECT_NAME

请注意,URL 不包含"job",而是使用"project"。

确保在触发器下,如果您希望作业在有人推送提交时触发,则还选中了"推送事件"。

最后,在测试 webhook 之前,先针对你的 Jenkinsfile 运行一个构建,这样 Jenkins 就会选择Gitlab的触发器设置。

最新更新