When comparing Bamboo vs Jenkins, the Slant community recommends Jenkins for most people. In the question“What are the best continuous integration tools?” Jenkins is ranked 3rd while Bamboo is ranked 16th. The most important reason people chose Jenkins is:
Jenkins is a free and open source continuous integration tool, while its source code is hosted on [GitHub](https://github.com/jenkinsci/jenkins/).
Ranked in these QuestionsQuestion Ranking
Pro Fine-grained control over each environment the project needs to be deployed to
Bamboo is the only build server to offer first-class support for the "delivery" aspect of continuous delivery. Deployment projects automate the tedium right out of releasing into each environment, while letting you control the flow with per-environment permissions.
Pro End-to-end visibility when linked to JIRA, Stash and HipChat
When connecting Bamboo with Stash and JIRA, details like JIRA issues, commits, reviews and approvals follow each release from development to production. If HipCHat is part of the integration, team members get notified right away in addition to email notifications.
Pro Integration with Docker
Bamboo allows using Docker containers to create build agents. Using Docker agents lets you run multiple remote agents on the same host without conflicting requirements. It makes it easier to duplicate and distribute changes to build agents, and to use scripts for creating and maintaining agents.
How can you define and build your own image and push it to a registry to share? This is when Bamboo’s Docker tasks come into play. Docker tasks make it possible to build an image, run a container, and push a Docker image to a registry from within your build or deployment project.
Pro Out-of-the-box support for Git branching workflows
Bamboo allows you to automatically detect and build new branches, merge branches together when tests pass and continuously deploy code to staging and production servers based on branch name.
Pro Test automation
Out-of-the-box features that let developers perform parallel testing on elastic agents and quarantine flakey tests.
Pro Easy enterprise-grade administration
Avoid plugin hell by having most important capabilities as out-of-the-box features, not plugins. Bamboo is not just built for teams, but teams-of-teams. It has the administrative features you need to manage and maintain CI at scale. Enterprise model for access control, management, and support.
Pro Bundled AWS CodeDeploy task
Deploying applications with AWS CodeDeploy was always possible by using Bamboo script tasks, and it's now an easier process with a bundled add-on and its accompanying CodeDeploy task.
Pro Integration with Amazon S3
Bamboo can also be integrated with Amazon S3 for unlimited storage.
Pro Free and open source
Jenkins is a free and open source continuous integration tool, while its source code is hosted on GitHub.
Pro Safe to store key environment variables
Self-hosting provides a safe location to store key environment variables since it is the user who is in charge of the server and environment where Jenkins is hosted.
Pro Highly customizable
Even though Jenkins is pretty functional and useful out of the box, there's a large plugin ecosystem from which the user can choose plugins to integrate into their Jenkins build. This is needed for when the user wants to extend any of the tool's features.
Pro A lot of resources and tutorials available
Jenkins has been in development since 2004 and is one of the most popular tools of its kind. This means that its technology is very mature and there is a lot of documentation and resources available for it.
Pro Multiple version control systems supported
Supports the most popular version control systems out of the box: SVN, Mercurial, and Git.
The distributed builds in Jenkins work effectively, thanks to the Master and Slave capabilities.
Pro Stable release line for users who want less changes
This is called the Jenkins Long-Term Support (LTS) version and helps to provide the most stable and assuring version of the Jenkins CI possible. Every 3 months, a version (which has been deemed the most reliable by the community) is chosen. After this, its branched, well-tested features are added (if they are missing), it is tested with the new features, bug fixes are then carried out if necessary, and from there it is released as the official Jenkins LTS version.
Pro User can source control their chain of automation
Starting with Jenkins 2.0, the pipeline capability, which has been available as a plugin before this version, has been built into Jenkins itself. This allows developers to describe their chain of automation in text form, which can be version controlled and put alongside the source tree.
Pro Quantity of available Plugins
For most operations we need not reinvent the wheel, there are plugins already existing.
Pro Cross-platform build support
Being a Java application it can be installed under any OS: Windows, Linux, and macOS. On the other hand, JNLP slaves also enriches the cross-platform build support for its agents.
Pro Easy to get up and running
A Jenkins install is very simple and the user can have the service up and running within minutes. To install Jenkins, the command
java -jar jenkins.war is all that is needed - nothing more.
Pro Self hosted
You stay in full control of your source code, build environment and deployment. No third party gets access to your source code or knows exactly how to build your software.
Pro Encryption of secrets
Thanks to JENKINS Credentials and Plugin.
Pro Multiple test environments for different runtime versions
They can be added easily under your Global Configuration.
Pro Awards and recognition
Including InfoWorld Bossie Award (Best of Open Source Software Award) in 2011, and Received Geek Choice Award in 2014.
Con Very limited basic license.
Although they have $10 license it is very limited even for modest shops. Even next step of commercial license is very expensive for what you get.
Con Bamboo Cloud is going away in Jan. 2017
Migration to Bamboo Server is non-trivial and may not be worth the effort.
Con Free open-source require application to use
Bamboo does offer a free option for open source projects though it requires the user to apply for it in order to use it past the free trial.
Con Poor quality plug-ins that are difficult to combine
There have been several complaints by users regarding the quality of the plug-ins found in Jenkins' official plugin repo. A lot of plugins found in the default plugin directory are no longer actively maintained and as a result, they may be incompatible with later versions of Jenkins or other plugins.
Con High overhead
Unlike some of the simple and hosted alternatives, users need to host and setup Jenkins by themselves. This results in both a high initial setup time, as well as time sunk into maintenance over a project's duration.
Con Unstable and lack of plugin integration QA process
Jenkins without plugins is almost useless. All plugins are treated equal and published almost right away.
Because there is no process for testing Jenkins' integration, the overall Jenkins experience is not that great. Furthermore, Jenkins' core and plugins are released on a regular basis, all requiring instant restarts, meaning that updates appear more than once a day!
Con Restarting of pipeline steps only available in commercial version
Reliable pipelines with step restarts are only available in the enterprise version. Last time I talked to them in 2018, I was quoted $20k/year for that.
Con Cannot get pipelines right
They are on the 5th attempt to make pipelines working. Still lot to be desired and clunky. Thoughtworks took CruiseControl and just rewrote it from scratch to make GoCD. Go.CD has pipeline support as first class citizens.
Vulnerable to cross site and DOS attacks, read article Top 10 Java Vulnerabilities And How To Fix Them.
Con Limited pipeline size
Pipeline-as-code is limited to a JVM method size limit.