Jenkinsfile with two git repositories Jenkinsfile with two git repositories git git

Jenkinsfile with two git repositories


You can checkout multiple directories using checkout, but you have to specify directory where you want checkout this. You can generate snippets using jenkins (Snippet generator bellow script field).Choose checkout, next git repository and in Additional Behaviours choose: checkout into sub directory.

When you will have 2 repositories you can load script from repository you want usin load. Example:

node {    // first repository    checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'subdirectory1']], submoduleCfg: [], userRemoteConfigs: [[url: 'repo1.git']]])    // second repository    checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [[$class: 'RelativeTargetDirectory', relativeTargetDir: 'subdirectory2']], submoduleCfg: [], userRemoteConfigs: [[url: 'repo2.git']]])    // run first script    load 'subdirectory1/Jenkinsfile'    // run second script    load 'subdirectory2/Jenkinsfile'}


Another elegant solution for handling multiple Git repositories within single pipeline can be found at this thread.

node {    dir('RepoOne') {        git url: 'https://github.com/somewhere/RepoOne.git'    }    dir('RepoTwo') {        git url: 'https://github.com/somewhere/RepoTwo.git'    }    sh('. RepoOne/build.sh')    sh('. RepoTwo/build.sh')}