When comparing Bamboo vs AppVeyor, the Slant community recommends AppVeyor for most people. In the question“What are the best continuous integration tools?” AppVeyor is ranked 4th while Bamboo is ranked 14th. The most important reason people chose AppVeyor is:
AppVeyor is free for public GitHub repositories.
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 Free for open-source projects
AppVeyor is free for public GitHub repositories.
Pro Supports Windows build enviroment
AppVeyor has a build environment for Windows available.
Pro Clear, straight-forward user interface
Well I suggest you check it out for yourself, but what I like most is that it's simple yet effective: no bells and whistles, simple black/grey/light-blue/white color scheme, it's immediately clear where you have to go for each specific task, and build settings pages are like that as well. Getting a 'standard' build running literally took me a minute the first time I used it.
Pro Easy access to build VM
AppVeyor allows the user to login to the actual build VM.
Pro The initial setup is easy
There's practically no setup involved prior to working with AppVeyor: simply sign in, add the project, and start a new build.
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 Not free
This is open-source but not free.
Con Configuration is limited
AppVeyor's configuration (which is done from the .yaml file in the root of the project) is unfortunately very limited. The configuration is either tied to a branch or, in other cases, it's global. This limits the developer to a single build process.
However, since you can use arbitrary scripts for building, all those limitations can be overcome. Configuration can also be done from the web UI without a .yaml file.