When comparing Bamboo vs CircleCI, the Slant community recommends CircleCI for most people. In the question“What are the best continuous integration tools?” CircleCI is ranked 6th while Bamboo is ranked 14th. The most important reason people chose CircleCI is:
CircleCI excels with its setup process. All that's needed is a GitHub login and CircleCI automatically detects the settings for Ruby, Python, Node.js, Java and Clojure. The setup process is their most widely praised feature.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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 Quick setup
CircleCI excels with its setup process. All that's needed is a GitHub login and CircleCI automatically detects the settings for Ruby, Python, Node.js, Java and Clojure. The setup process is their most widely praised feature.
Pro Simple and intuitive GitHub integration
CircleCI can be connected to any project that is hosted on GitHub by logging in using the GitHub OAuth and adding the desired repository.
Whenever a new commit is pushed to GitHub, CircleCI runs the tests that have been already defined and if none of them fails, the build is deployed to the runtime environment.
Pro SSH support
Users can access the Virtual Machine via SSH and run commands.
Pro Easy configuration with YAML
In most cases CircleCI automatically get settings from your code. When it fails, edit circle.yml.
Pro Very fast parallel testing
Tests can be parallelized across multiple machines reducing test times drastically. They support up to 8-way parallelization. Additionally, CircleCI caches the build environment.
Pro Clean, intuitive UI
Circle CI's web UI is clean and easy to use.
It gives all the information for a single build in a feed and gives the explanation for each step of the build, what it's doing and what the step is related to. On the top it displays author information and the time and date when the build was started and finished.
This is all done by giving only the most essential information without clogging the screen.
Pro Supports 8 languages and 16 databases
Support for Ruby, Python, Node, Java, PHP, RoR, DJ, JavaScript. It also detects settings for Ruby, Python, Node.js, Java and Clojure.
It als has support for: MySQL, MongoDB, PostgreSQL, Cassandra, Riak, Redis, SQLite, Solr, CouchDB, ElasticSearch, Neo4j, Couchbase, Lucene, Sphinx, ThriftDB, Memcache.
Pro Headless browser support
Alongside latest Chrome, Firefox and Webkit (installed using xvfb), CircleCi supports the use of Selenium, PhantomJS as well as tools like Capybara and Cucumber.
Pro Support for Queues
Support for RabbitMQ, Beanstalk and Resque through Redis.
Pro Supports Docker
CircleCI can continuously deliver Docker images to hosts that support Docker containers.
Pro Provides time taken for each step
Eg:
./1.setup.sh 48s
./2.build.sh 56s
With this information, it's easy to find out which line of the script is the bottleneck of the build process.
Pro Comprehensive cache dependencies
Can specify the cache dependencies on
- checksum "package.json"
- Branch
- BuildNum
- Revision
- Environment.variableName
For more details https://circleci.com/docs/2.0/caching/
Pro Intelligent notifications
CircleCI can notify via email, Hipchat, Campfire and more. And it does so only when necessary.
Pro Can test many code pushes concurrently
You can push multiple batches of code concurrently.
Pro Supports 10 Continuous Deployment solutions
Support for Heroku, AWS, Engine Yard, dotCloud, Fabric, Nodejitsu, AppFog, Capistrano, Rockspace, Joynet.
Integration with Heroku is solid with the ability to automatically deploy or merge branches.
CircleCI is also very flexible with the deployment arrangement allowing SSH key management, deployment freedom including directly to a PaaS, using Capistrano, Fabric, arbitrary bash commands, or by auto-merging to another branch, or packaging code up to S3.
Cons
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 Changes the environment without warning
Unless you count forum posts as a warning. A mysql upgrade caused days of debugging.
Con Does not cache docker images
The way to fake it is to save the image on disk, in the cache folder (it tars it), and restore it afterwards. But in tests it was slower than not caching.
Con Docker is way outdated on the VM provided
Currently (October 5th 2016), Docker installed on the VM is: 1.9.1-circleci-cp-workaround, build 517b158, and docker-compose is 1.5.2, build 7240ff3. docker-compose in particular is almost too old to be used.