Jenkinsfile:如何在多分支管道中检出多个分支源?

问题描述

我在多分支管道中配置了多个分支源(不同的存储库):

multiple branch sources

在jenkinsfile中,我想签出所有这些存储库,我尝试了下一个脚本:

node {
  stage("Checkout") {
    checkout scm
  }
}

但是此脚本仅签出第一个存储库。如何一步一步签出所有存储库?

我知道我可以通过在jenkinsfile本身中列出来列出所有存储库,但是我想使用已经提供的分支源。

解决方法

这样,您可以在单个jenkins版本中签出多个存储库。

stage ('checkout'){
       cleanWs()
       dir ('app-code'){
       git branch: '${branch}',credentialsId: 'jenkins-gitlab',url: '[email protected]:xxx/xxx.git'
       }
       dir ('docker'){
           git branch: 'master',url: '[email protected]:xxx/docker-xxx.git'
       }
       dir ('charts'){
           git branch: 'master',url: '[email protected]:devops/xxx.git'
       }
   }