Between Mardi Gras, St. Patrick’s Day and unpredictable weather, March is one crazy month –and we at Atlassian are still deeply mad for distributed version control (DVCS)! As an expression of our mania, we put extra love for DVCS users into Bamboo 4 - Atlassian’s kick ass Continuous Integration and Continuous Delivery server - which is now available for download. If you’re not a DVCS user (at least, not yet…), there’s no need to feel left out because Bamboo 4 has plenty of goodness for you, too. You know we wouldn’t do ya wrong!
Plan Branches – Automate More, Configure Less
Branching your code is a fact of life in software projects –almost as unavoidable as death and taxes. One of the most common reasons for branching is to allow developers to work for a short time in isolation, which is all well and good. But this often means that code on the branches is not part of the team’s CI scheme, leaving uncertainty as to whether changes made on the branch work or not. To help restore developer confidence, Bamboo 4 comes with advanced support for branching your build plans along with your code and merging code changes regularly across branches.
(Deeper how-to & config information on Plan branches to follow in a subsequent blog post! right here!)
Automatic Branching for DVCS
Teams using DVCS repositories like Git and Mercurial can have Bamboo automatically detect new branches in their repo within seconds of creation. When a new branch is found, all Plans associated with that repo are cloned and connected to the new branch, with the option to override Plan variables and advanced repository settings. What’s more, config changes made to the master Plan will automatically be inherited by all it’s Plan branches.
Flexible Options for DVCS Merging
And we’ve got you covered for merging, too. In keeping with the idea that the best way to ease a painful process is to do it frequently, Plan branches can be automatically merged with the main code line in one of two ways.
This strategy merges changes from your branch into the main line and builds the result. If successful, the merged code is committed and pushed to the main line, keeping the whole team in sync.
The “Build Updater”
Conversely, the “Build Updater” strategy merges the main line into the branch, and builds the combined code. The merged code is committed and pushed to the branch upon success. This option is great for making sure longer-living branches don’t stray far from the trunk.
Push-Button Branching for Centralized VCS
Teams using traditional version control systems like Subversion and Perforce can take advantage of quick and easy Plan branching whenever they need it: for release branches, patch branches or developer sandboxes. Just click a button to create the Plan branch, specify the branch’s location in your code repository, and you’re off & running! As with their automatically created counterparts, all push-button Plan branches inherit config changes made to the master Plan, and are consolidated with the master for an at-a-glance view of all branches associated with your Plan.
Test Quarantine: the Antidote for Volatile Builds
Fans of “Freakonomics” know about the Broken Window Theory: the tendency of breakages that are left visible to invite further destruction and neglect. The world of software is no different. Builds with flaky or ever-failing tests tend to fall into severe decay because breakages become the norm. That’s why teams adopt the discipline of either fixing the problem right away, or pulling the test out. But if the test was worth writing, it’s worth keeping tabs on, and Bamboo’s new Quarantine feature makes that easy. Gone are the days of commenting out test code or manually updating test suite configuration files. Simply hit the Quarantine button next to a failing test, and let Bamboo do the dirty work. Not only that, but you’ll see the count of Quarantined tests in every build result as a reminder to reincorporate them into your build.
(A post with much more detail on the quarantine feature is coming up in the next week or so. Look for it!)
Clean Workspace, Clear Mind
Springtime means spring cleaning, so we’ve freshened up the UI in Bamboo 4. Don’t want to see the Plan Navigator all the time? Toggle it (hidden or shown) to keep content-packed pages free of clutter and easy to read. On the Plan Summary pages, you’ll notice the Plan Statistics panel has undergone a facelift. Underneath that, you’ll find a list of all branches for the Plan –complete with build status indicators! History buffs and stats junkies alike will rejoice in the new build history bar on Plan detail and configuration pages showing the status of the last 10 builds. Hover your mouse over any indicator to see the build number, what triggered the build and whether any tests failed.
But That’s Not All!
Bamboo 4 has over 100 fixes and enhancements. Check out the full release notes for more details as well as the top 10 user-voted issues included in this release. We really do listen!
More Bamboo 4
Stay tuned to the Atlassian Dev Tools blog for detailed posts about Plan branches and test quarantine in the coming week. Use the links at the top of this page to subscribe via email or RSS and get notified the moment new posts hit the wire!
Check out the New Bamboo 4
Upgrade to the latest and greatest in continuous integration servers by downloading your copy today. Start a 30-day free trial, or update your existing instance. Our online Installation and Upgrade Guides are here to help.