Note that there are some explanatory texts on larger screens.

plurals
  1. POHandling multiple branches in continuous integration
    text
    copied!<p>I've been dealing with the problem of scaling CI at my company and at the same time trying to figure out which approach to take when it comes to CI and multiple branches. There is a similar question at stackoverflow, <a href="https://stackoverflow.com/questions/4943280/multiple-feature-branches-and-continous-integration">Multiple feature branches and continuous integration</a>. I've started a new one because I'd like to get more of discussion and provide some analysis in the question.</p> <p>So far I've found that there are 2 main approaches that I can take (or maybe some others???).</p> <ul> <li>Multiple set of jobs (talking about Jenkins/Hudson here) per branch <ul> <li>Write tooling to manage the extra jobs <ul> <li>Create/modify/delete Jobs in bulk</li> <li>Custom settings for each job per branch (SCM url, dep management repos duplications)</li> <li>Some examples of people tackling this problem with shell tools, ant scripts and Jenkins CLI. See: <ol> <li><a href="http://jenkins.361315.n4.nabble.com/Multiple-branches-best-practice-td2306578.html" rel="nofollow noreferrer">http://jenkins.361315.n4.nabble.com/Multiple-branches-best-practice-td2306578.html</a></li> <li><a href="http://jenkins.361315.n4.nabble.com/Is-it-possible-to-handle-multiple-branches-where-some-jobs-should-run-on-each-one-without-duplicatin-td954729.html" rel="nofollow noreferrer">http://jenkins.361315.n4.nabble.com/Is-it-possible-to-handle-multiple-branches-where-some-jobs-should-run-on-each-one-without-duplicatin-td954729.html</a> </li> <li><a href="http://jenkins.361315.n4.nabble.com/Parallel-development-with-branches-td1013013.html" rel="nofollow noreferrer">http://jenkins.361315.n4.nabble.com/Parallel-development-with-branches-td1013013.html</a></li> <li><a href="https://stackoverflow.com/questions/3886892/configure-or-create-hudson-job-automatically">Configure or Create hudson job automatically</a></li> </ol></li> </ul></li> <li>Will cause more load on your CI cluster</li> <li>Feedback cycle for devs slows down (if the infrastructure cannot handle the new load)</li> </ul></li> <li>Multiple set of jobs per 2 branches (dev &amp; stable) <ul> <li>Manage the two sets manually (if you change the conf of a job then be sure to change in the other branch) <ul> <li>PITA but at least so few to manage</li> </ul></li> <li>Other extra branches won't get a full test suite before they get pushed to dev</li> <li>Unsatisfied devs. Why should a dev care about CI scaling problems. He has a simple request, when I branch I would like to test my code. Simple.</li> </ul></li> </ul> <p>So it seems if I want to provide devs with CI for their own custom branches I need special tooling for Jenkins (API or shellscripts or something?) and handle scaling. Or I can tell them to merge more often to DEV and live without CI on custom branches. Which one would you take or are there other options? </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload