Hi Join
I have pipeline for multiple git repositories as shown below, i want to
skip a stage
stage (RM) {
steps{
checkout([$class: 'GitSCM', branches: [[name: gitBranch]], extensions:
[[$class: 'CloneOption', timeout: 120]],
userRemoteConfigs: [[credentialsId: "${credentialsId}", url:
mainProjectGITURL1 ] ]])
}
}
stage (RMC) {
steps{
checkout([$class: 'GitSCM', branches: [[name: gitBranch]], extensions:
[[$class: 'CloneOption', timeout: 120]],
userRemoteConfigs: [[credentialsId: "${credentialsId}", url:
mainProjectGITURL2 ] ]])
}
}
I want to skip stage RMC when branch is re-5.1
On Mon, Nov 23, 2020 at 7:50 AM john levin <[email protected]> wrote:
> You should use git submodules to handle multiple repositories.
>
> Check the submodule documentation for more info.
>
> /John
>
> On Mon, 23 Nov, 2020, 2:15 am Sravya Kancherla, <[email protected]>
> wrote:
>
>>
>> Hi,
>>
>> I have Pipeline for multiple Git repositories to checkout and i want to
>> skip one repo at particular branch
>>
>> eg: repo1,repo2,repo3,repo4.....
>>
>> i want to skip repo3 when branch is re-5.1
>> On Tuesday, May 28, 2019 at 5:53:09 PM UTC+5:30 Mark Waite wrote:
>>
>>>
>>>
>>> Git takes full control of the directory for each checkout. Thus, the
>>> last checkout "wins" by containing the content of only that checkout.
>>>
>>> Perform a checkout command for each repository in a separate directory.
>>> Create the directory for each checkout with the dir() step or the ws()
>>> step, and place the checkout inside the block from that step. Something
>>> like this:
>>>
>>> dir('dir-1-for-repo-1') {
>>> checkout([$class: 'GitSCM', branches: [[name: gitBranch]], extensions:
>>> [[$class: 'CloneOption', timeout: 120]],
>>> userRemoteConfigs: [[credentialsId: "${credentialsId}", url:
>>> mainProjectGITURL ] ]])
>>> }
>>> dir('dir-2-for-repo-2') {
>>> checkout([$class: 'GitSCM', branches: [[name: gitBranch]], extensions:
>>> [[$class: 'CloneOption', timeout: 120]],
>>> userRemoteConfigs: [[credentialsId: "${credentialsId}", url:
>>> list[0] ] ]])
>>> }
>>>
>>> On Tue, May 28, 2019 at 4:14 AM Jacques van der Merwe <[email protected]>
>>> wrote:
>>>
>>>> I know this is fairly old thread but I have an issue
>>>> when using the multi repo checkout it seems to remove the previous repo
>>>> checkout before doing the new one.
>>>> I have tried checking all the repos required for my build using the
>>>> Jenkins Declarative "checkout" command
>>>> checkout([$class: 'GitSCM', branches: [[name: "${gitBranch}"]],
>>>> doGenerateSubmoduleConfigurations: false, extensions: [[$class:
>>>> 'CloneOption', timeout: 120]], submoduleCfg: [], userRemoteConfigs: [
>>>> [credentialsId: "${credentialsId}", url: "${mainProjectGITURL}"],
>>>> [credentialsId: "${credentialsId}", url: "${list[0]}"],
>>>> [credentialsId: "${credentialsId}", url: "${list[1]}"],
>>>> [credentialsId: "${credentialsId}", url: "${list[2]}"],
>>>> [credentialsId: "${credentialsId}", url: "${list[3]}"]
>>>> ]])
>>>> With this config I can see on my build server each project are being
>>>> checked out but only the last project is availbale after this checkout.
>>>>
>>>>
>>> Multiple userRemoteConfigs in a single checkout command will perform a
>>> single checkout of one of the remote configs. It won't iterate over the
>>> list of remote configs and definitely won't create the separate
>>> subdirectories that would be needed to retain a checkout of multiple
>>> repositories.
>>>
>>> Multiple userRemoteConfigs in a single checkout are allowed as a
>>> historical use that was allowed for those rare cases where multiple
>>> locations contained the same repository and any one of the repositories
>>> could be used. Multiple userRemoteConfigs won't help in this case and they
>>> don't help in almost all cases.
>>>
>>>
>>>> I also tried doing in a loop using "git" only
>>>> def list = "${includedProjectsGITURLS}".split("\n")
>>>> echo "Number of repos : " + list.size()
>>>> echo "Checking out main project (${gitBranch}) : " +
>>>> mainProjectGITURL + "\n";
>>>> git credentialsId: 'blablabla', url: "${mainProjectGITURL}"
>>>> for (String gitSubURL:list)
>>>> {
>>>> echo "Checking out sub project (${gitBranch}) : " + gitSubURL +
>>>> "\n";
>>>> git credentialsId: 'blablabla', url: "${gitSubURL}"
>>>> }
>>>> The result is the same, making me think "checkout" is just wrapper for
>>>> GIT
>>>>
>>>>
>>> The git step is a simplified form of the checkout step. If your case
>>> does not need the full capability of the checkout step, you are welcome to
>>> use the git step. I find that I almost always want the checkout step
>>> because it allows me to control things more precisely.
>>>
>>>
>>>> I also tried checking each repo into its own sub folder but the result
>>>> is the same
>>>>
>>>>
>>> We'll need more explanation of what was tried in this case, since that
>>> is the technique that works for many users.
>>>
>>> Thanks,
>>> Mark Waite
>>>
>>>
>>>> any ideas how I can checkout multiple repos in Jenkins declarative
>>>> script for single build
>>>>
>>>>
>>>>
>>>> On Wednesday, December 21, 2016 at 7:25:43 PM UTC+2, Torsten Reinhard
>>>> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I have a pipeline doing a build and afterwards a deployment to the
>>>>> TEST environment.
>>>>>
>>>>> For the build I need to
>>>>> // checkout sources for building
>>>>> checkout scm
>>>>>
>>>>> and later on I need to
>>>>> //checkout configuration for TEST environment
>>>>> checkout scm (config)
>>>>>
>>>>> I wasn´t able to configure a working directory for each repo - and the
>>>>> "Multiple SCMs plugin" is deprecated with a hint to the Pipeline plugin.
>>>>> How can I setup the Pipeline job so it´s using "Pipeline script from
>>>>> SCM" AND additionally some files/configs from a different repo?
>>>>>
>>>>> I know about the workaround with subtrees and also this issue:
>>>>> https://issues.jenkins-ci.org/browse/JENKINS-13228,
>>>>> but I´m wondering why help points to the Pipeline plugin ?
>>>>>
>>>>> Any sample setup available ?
>>>>>
>>>>> Thanx for helping,
>>>>>
>>>>> Torsten
>>>>>
>>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Jenkins Users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>>
>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/jenkinsci-users/0d41e558-853d-4cbc-8b8f-fbcdfffedb57%40googlegroups.com
>>>> <https://groups.google.com/d/msgid/jenkinsci-users/0d41e558-853d-4cbc-8b8f-fbcdfffedb57%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>
>>>
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>> --
>>> Thanks!
>>> Mark Waite
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/jenkinsci-users/a3a16754-74b5-4022-88ea-eb9e0ac19555n%40googlegroups.com
>> <https://groups.google.com/d/msgid/jenkinsci-users/a3a16754-74b5-4022-88ea-eb9e0ac19555n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/CAGJXh7o_iovEq2jqrA2f3dW7ajtansTJ7iW%3D8CtmvpnLExxBCg%40mail.gmail.com
> <https://groups.google.com/d/msgid/jenkinsci-users/CAGJXh7o_iovEq2jqrA2f3dW7ajtansTJ7iW%3D8CtmvpnLExxBCg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/CA%2BfgoYc%2Bky%3D7u%2BxCTSCyPZT1SL7Odg%3D%3DzZF3_a71OLibpDhY3w%40mail.gmail.com.