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

问题描述 投票:0回答:1

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

jenkins gitlab multibranch-pipeline
1个回答
4
投票

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

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

来源: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 作业项目 url。 URL 应采用以下任一形式:

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

请注意,URL 中不包含“job”,而是使用“project”。

如果您希望每当有人推送提交时就触发作业,请确保在“触发器”下选中“推送事件”。

最后,在测试 Webhook 之前先针对 Jenkinsfile 运行构建,以便 Jenkins 获取 GitLab 的触发器设置。

© www.soinside.com 2019 - 2024. All rights reserved.