Speed up Jenkins cloning git repositories with Multiple SCM plugin and multi-configuration
We have a Jenkins job which uses Multiple SCM to clone 5 repositories and then builds it using a gradle script. There are two things that are slowing us down:
- A build is triggered on every repository on every change. That is fine, but it currently means that every time one of the repositories changes, all repositories are cloned again. Is there a way to make sure only the changed repo is cloned?
- Since it is a multi-configuration job, the clone is executed twice, once in the parent workspace and once in the configuration workspace. Now as I understand it this is the expected behaviour, but is there a way to change this and only clone in one of those or just copy the cloned workspace?
Also would there be a way to tell Jenkins to normally pull the repos with a hart reset and only clone on changes of .gitignore?
- Jenkins build fails because can't clone git repo
- No credential field in jenkin while creating job with git
- how to make slave system to access Git repository in Jenkins
- How can I take last 20 lines from the $BUILD_LOG variable?
- Jenkins Post Build Step only if there is a change in GIT/SVN
- Passing variable from shell script to jenkins