Git 分支上的 Jenkins 管道多触发器选项

Jenkins pipeline multi trigger options on Git branch

我的要求是在创建发布分支后立即触发 CI/CD 管道,对发布分支进行提交和合并。 我的发布分支的名称会因发布而异,例如 release/v1. 0, release/v1. 1 or release/v2.0

出于安全方面的考虑,我们不允许对 git 触发器选项使用 Web 挂钩,而是使用 Jenkins 的 SCM 轮询(每分钟)选项来触发管道。

我们在这里面临的问题是下面的 Jenkins 管道片段无法指向 release/v1.0 以进行 git 结帐。只要创建或合并发布分支或发生提交,我们的管道就会触发。

stage ('Git Checkout')
{
    git(url: "${GIT_URL}",credentialsId: "${GIT_CREDENTIALS_ID}",branch: 'release/*')       
}

这可以通过在 Jenkins 管道中使用以下 Git 阶段来解决。

    stage ('GIT CHECKOUT')
    {
        checkout poll:true, scm: ([$class: 'GitSCM',
        branches: [[name: 'origin/release/*']],
        userRemoteConfigs: [[credentialsId: "${GIT_CREDENTIALS_ID}", url: "${GIT_URL}"]]
        ])
        
    }