首页 > 解决方案 > 需要通过 git sha 来结帐到 Jenkins 多分支管道

问题描述

是否可以使用参数允许用户将 git sha 传递给多分支管道,同时默认为分支的头部?此外,我只需要为 master 分支使用此功能。

我正在使用......
代码中的 Jenkinsfile
Jenkins 声明式管道

标签: jenkins-pipelinejenkins-declarative-pipeline

解决方案


我能够使用以下声明性管道来做到这一点......

pipeline {
  options {
    skipDefaultCheckout()
  }
...
steps {
    script {
      if (GIT_REVISION=='HEAD') {
        checkout scm
      } else {
        checkout([$class: 'GitSCM',
            branches: [[name: "${params.GIT_REVISION}"]],
            doGenerateSubmoduleConfigurations: false,
            extensions: [],
            submoduleCfg: [],
            userRemoteConfigs: [[credentialsId: 'XXXXXXX', url: 'git@github.com:xxxxx/xxxxx.git']]
        ])
      }
      ...
    }
  }
}  

推荐阅读