Implementing continuous delivery: Jenkins or Bamboo?
Software development is an ever-evolving landscape, with buzzwords aplenty to keep us guessing as to what could be transforming the way we work next. A case in point? Continuous delivery.
As we all rush to embrace the cloud, product development continues to become even more dynamic, with businesses under constant pressure to deliver results quicker by adopting agile methodologies.
The natural successor to agile transformation, continuous delivery is today transforming how companies produce and release software, empowering teams to build, test and release software not only faster, but more often.
Just like agile development, continuous delivery is set to drive yet another shift in the way teams develop and shift software, while helping close that ever-elusive gap between development and other teams.
Continuous delivery: the benefits
So aside from speed, what other benefits does continuous delivery have up its sleeve? Well, continuous delivery also helps companies realise value faster, as by shipping new features in smaller increments and greater speed, businesses can increase the time-to-value from their investment in research and development.
What’s more, shipping features with greater frequency often entails investment in good quality development infrastructure (which is always a good thing). Automated testing, meanwhile, can mean less time spent testing software, enabling companies to innovate faster.
Getting continuous delivery off the ground
The good news is that all modern CI servers have evolved to serve this growing demand for continuous integration. Let’s take the popular tools Atlassian Bamboo and Jenkins as an example.
Bamboo uses stages and build pipelines to manage the entire build process, from Committing code -> Testing -> Staging builds -> Deploying to production.
Jenkins, on the other hand, supports continuous delivery mostly via build pipelines.
In fact, let’s take things one step further and see where the strengths lie with each of these tools when it comes to developing software with a continuous delivery methodology.
1. Configuration and set up
Setting up both Bamboo and Jenkins is pretty simple – both are JAVA-based and platform agnostic, and can be deployed on any platform with an Oracle JDK.
Bamboo win here thanks to its up-to-date UI. However, the Jenkins UI can be customised with external plugins.
3. Integration with build tools
Both Bamboo and Jenkins have a catalogue of third party plugin available to extend functionality.
4. Branch management
Bamboo comes complete with support for DVCS systems out of the box for automatic branch detection and management.
Bamboo has strong functionality here – it can be configured to create plans on the fly, as new feature branches are configured. It can also auto-merge when a build succeeds and can clean up unused branches.
While Jenkins can do branch management, you’ll need to configure this with via scripts and plugins.
It’s pretty straightforward to configure Bamboo for build pipeline. While Jenkins doesn’t support build pipelines out of the box, add-ons are available to introduce this function.
6. Scaling with remote builds
Both Bamboo and Jenkins provide support for remote agents. In Jenkins, these are called slaves.
7. Integration with Atlassian tools
Bamboo integrates with Atlassian tools like JIRA and Bitbucket Server – this not only gives transparency into which branch of a bug has been fixed, it also clearly shows the status of the build. Jenkins does has some integration with JIRA, but information is limited.
Continuous delivery is set to truly shift the way businesses interact with their customers, taking the best of agile processes and continuous integration to deliver great products, faster. At the heart of this change, however, will be a cultural transformation within teams to adopt this new way of working.
It’s only once this is accepted that businesses will really see the benefits of improved development and collaboration that continuous delivery can bring.
The article above is a guest post from Ajay Sridhar, Senior Consultant at Valiantys. Valiantys, empowers teams and enterprises to transform the way they work with the most powerful Agile tools on the market – the Atlassian suite. Platinum Atlassian Expert operating across France, the UK, Switzerland and North America, we’ve helped over 2,200 enterprises optimise project management and collaboration with JIRA Software, JIRA Service Desk, Confluence and more.