April 28, 2017
Score 9 out of 10
Overall Satisfaction with Bamboo
Bamboo was brought in as part of the Atlassian toolset to replace our aging build environment in order to help us achieve a continuous integration / continuous delivery build model. Bamboo has helped us modernize our existing build infrastructure by moving from scheduled builds to on-demand builds with each change checked in to source control. Presently, Bamboo is only being used in one division, but we hope to socialize its success to additional divisions.
- Continuous Integration - Bamboo kicks off builds with each check in to our source control system, enabling faster consumption of changes, and quicker turnaround times when we encounter a problem.
- Extensibility - Bamboo is capable of triggering multiple additional processes on completion of a build, including integration tests, deployment tests, and the like. This extensibility took us from a scheduled based system to a trigger based system with little time waste.
- Suite Integration - Bamboo's easy integration with the rest of the Atlassian suite makes for huge efficiency gains. Being able to see which check in triggered the build, as well as seeing what JIRA issues went into that check-in makes for complete traceability.
- Cost - Obviously, purchasing licensing for the Atlassian toolset is more expensive than a roll your own approach with other open source packages, but the tight integration amongst the tools makes up for that cost.
- Plugins - Bamboo does not have quite the rich ecosystem of plugins that other open source tools, like Jenkins does.
- Agents - We preferred the build agent model offered by Jenkins because of its far cheaper costs. Because of the costs of Atlassian agents, we are limited in the number of agents we deploy.
- Bamboo took us from a scheduled build to a true CI/CD based build, where we can get feedback in less than 5 minutes on whether a build is good or not.
- Bamboo reduced scheduling overhead by utilizing a triggering system to initiate integration and deployment tests, rather than us waiting for extra time after scheduled builds "just to make sure" the build was done. There's no waste time in the build process now!
- As I mentioned previously, the only real negative to Bamboo has been its licensing model. Right now, we're comfortable with the number of build agents we've deployed, but we'll have to look to invest further as we have additional streams being built simultaneously.
We chose Bamboo over Jenkins for 2 reasons - one, for its tight integration amongst all the products in the tool suite. We find explicit value in the traceability from JIRA issues all the way down to the Bamboo build that was triggered by the check in of those issues. The second reason was for support - we didn't want the burden of figuring out how to support Jenkins in our production environment, as can be the case with so many open source products.
If you value integration over cost, Bamboo is clearly the way to go. It offers tight integration to the rest of the Atlassian suite, and when you need traceability from issue to build, Atlassian is the right way to go. However, if you find yourself needing to save on costs, you may consider taking an approach of rolling your own build system with open source alternatives, such as Jenkins, if you don't [mind] putting in a little extra elbow grease.