4 ms·
DVCS does not discourage Continuous Integration as long as the developer pushes remotely on a regular basis to their own branch and the CI server is setup so th
by i386 14y ago
DVCS does not discourage Continuous Integration as long as the developer pushes remotely on a regular basis to their own branch and the CI server is setup so that it builds the known active branches.
I've been working on solving this problem over the last year. We added the ability to Bamboo (CI server by Atlassian) to detect new branches as they are created in the remote repository and automatically test the merge with master and optionally push the branch to master if everything is OK. If the merge or the tests fail, Bamboo lets you know immediately via email/XMPP/HipChat/etc.
Yes, it relies on developers being disciplined (read: responsible and professional) enough to push back to master in order to have the merge tested and the tests run.
Developers actually do it though because the benefits to having their feature branch tested regularly against master are huge: code is regularly merged and tested with master to ensure integration state and other team members are isolated from changes that can potentially damage development velocity.
Anyhow, if your interested in learning more, see my blog post called "Making Feature Branches effective with CI". I'd love more comments and thoughts if you have them.
http://blogs.atlassian.com/2012/04/bamboofeature-branch-continuous-integration-hg-git/ http://blogs.atlassian.com/2012/04/bamboofeature-branch-cont...
Disclaimer: I am product manager for Bamboo @ Atlassian
- skrebbel 14y agothat looks really interesting, thanks!
- i386 14y agoNo problems! If you have any questions, feel free to email me james@atlassian.com
- vlisivka 14y agoYear?! This problem can be solved in minutes (SVN/Jenkins: svn ls http://.../branches http://.../branches | xargs -l1 copy_project_template ). But another problem arises: CI server become overloaded, so you will need to add more hardware for slave nodes, and spend more time on maintenance of whole setup.