On Fri, Feb 6, 2015 at 3:32 AM, Titus Nachbauer <[email protected]> wrote:

> 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:
>
>    1. 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?
>
> I don't understand that statement.  When my multi-configuration jobs run
(single repository), they only clone a new copy of the repository the first
time the build is executed on a particular slave or when the slave
workspace is "wiped".  After the first build, subsequent builds fetch only
what has changed since the last build.

Can you clarify further?


>
>    1. 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?
>
> There is no way that I know to run a multi-configuration job without
cloning once in the configuration 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?
>
> The git plugin allows you to ignore commits based on file name patterns or
on user name patterns.  You might investigate that option as a way to
reduce the number of times a job is started.

If you have a large repository, you may also be able to improve cloning
speed significantly by using a "reference" repository.  A reference
repository is a bare repository clone of the original repository.  When git
is told to use a reference repository, it reuses the content available in
the reference repository rather than downloading it.

You may also be able to improve cloning speed by using a "shallow clone".
Both options are available from the git plugin advanced options.

Refer to http://blog.cloudbees.com/2014/09/advanced-git-with-jenkins.html
for a blog posting that describes the topic further.


> This is a duplicate of my question on Stackoverflow
> <http://stackoverflow.com/questions/28346410/speed-up-jenkins-cloning-git-repositories-with-multiple-scm-plugin-and-multi-con>,
> it seems there is not much activity on the Jenkins front there. What is the
> best place to ask professional Jenkins questions?
>
I find this mailing list is the best place to ask Jenkins user questions.
There are also several books available which describe Jenkins.  There are
companies (like Cloudbees) which provide enterprise licensed and supported
versions of Jenkins as well.

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/80d1217d-0b7c-42d2-88c8-40f7138f27b5%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-users/80d1217d-0b7c-42d2-88c8-40f7138f27b5%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/CAO49JtG1a_Vi6KEpchJO7F5Pfaj%2Br8jcy0XkZfaXH5EKZsmAOg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to