You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitLab推送/创建/发布Tag时触发Jenkins Declarative Pipeline

如何在Jenkins Declarative Pipeline中配置GitLab Tag触发

要实现GitLab Tag推送/创建时触发Jenkins Declarative Pipeline,你只需要在现有gitlab触发器配置中添加标签触发的相关参数即可,同时可以根据需求调整标签的过滤规则。下面是修改后的完整配置示例,我会逐一解释关键改动:

修改后的触发器配置

triggers {
    gitlab(
        triggerOnPush: false,
        triggerOnMergeRequest: false,        
        triggerOpenMergeRequestOnPush: "never",
        triggerOnNoteRequest: true,
        noteRegex: "jenkinsRetryBuild",
        skipWorkInProgressMergeRequest: true,
        pendingBuildName: "Jenkins",
        cancelPendingBuildsOnUpdate: true,
        // 新增:开启标签推送触发
        triggerOnTagPush: true,
        // 可选:设置标签过滤规则(如果需要只触发特定标签)
        branchFilterType: 'NameBasedFilter',
        includeTags: 'v*', // 匹配以v开头的标签,比如v1.0.0、v2.1.3
        excludeTags: '*-beta' // 排除带beta后缀的标签(可选)
    )
}

关键参数说明

  • triggerOnTagPush: true:这是核心配置,开启GitLab标签推送/创建时的触发逻辑。
  • branchFilterType: 'NameBasedFilter':当需要针对特定标签过滤时,使用这个类型替代原来的All,这样可以通过includeTags和excludeTags来精确控制哪些标签会触发流水线。
    • 如果不需要过滤,保持branchFilterType: 'All'即可,所有标签推送都会触发。
  • includeTags/excludeTags:支持通配符匹配,比如v*匹配所有以v开头的版本标签,*匹配所有标签。

适配标签触发的SCM Checkout步骤

当流水线由标签触发时,Jenkins会自动注入gitlabTag环境变量,所以你可以调整Checkout步骤,确保无论是分支还是标签触发都能正确拉取代码:

stages {
    stage('SCM Checkout') {
        steps {
            script {
                // 根据触发源选择拉取分支或标签
                def scmParams = [
                    url: "$gitlabSourceRepoSshUrl",
                    credentialsId: "$gitlabSshCredId"
                ]
                if (env.gitlabTag) {
                    scmParams.tag = env.gitlabTag
                } else {
                    scmParams.branch = "$gitlabSourceBranch"
                }
                git scmParams
            }
        }
    }
    // 其他阶段...
}

补充说明

  • 确保你的Jenkins GitLab插件版本是最新的(至少要支持triggerOnTagPush参数),旧版本可能没有这个选项。
  • 在GitLab仓库的Webhook配置中,要确保勾选了"Tag push events"选项,否则Jenkins收不到标签推送的通知。

内容的提问来源于stack exchange,提问作者amal viswanathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 10:31:14