如何在 gitlab 中为多分支管道 jenkins 添加 webhooks

How to add webhooks in gitlab for multibranch pipeline jenkins

我想为每次推送触发多分支管道,谁能告诉我我们如何在 gitlab 中为多分支管道配置 web-hooks。

如果您想知道触发器设置在 Multibranch 管道作业设置中的什么位置,这将为您解答:

Unlike other job types, there is no 'Trigger' setting required for a Multibranch job configuration; just create a webhook in GitLab for push requests which points to the project's webhook URL.

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

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

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

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

请注意 url 中不包含 "job" 而是使用 "project".

确保在“触发器”下,如果您希望在有人推送提交时触发作业,您也已 "Push Events" 选中。

最后,运行 在测试 webhook 之前首先针对您的 Jenkinsfile 进行构建,这样 Jenkins 将为 Gitlab 获取触发器设置。