To set up your system for continuous integration, you will need to use a specialized CI tool, also known as a build server. There are several to choose from on the market, including some with varying purposes, so it can be confusing when trying to select the most appropriate tool for your use, particularly if you have not used them before. To help you discover which tool will be the best for your needs, we have made a list of simple reviews describing the main characteristics and possibilities of the 10 most popular CI tools on the market:
Continuous Integration Tools List
Further details of each tool:
Travis CI
Travis CI is one of the most famous CI tools. It is an on-premise tool and is available free for up to the first 100 builds. If you need concurrent builds then you will have to purchase a license of your preference. Travis CI is easy to use and has good documentation and support available.
URL: travis-ci.com
AWS CodePipeline
This cloud solution from Amazon Web Services supports rapid continuous delivery of software. You can use their pre-built plugins as well as your own custom plugins to catalyze the build process. It can also be integrated with your own custom Jenkins build configurations, making CI fast and easy. It works by picking up changes from source repositories such as GitHub, and builds the solutions after running the the tests that you configured. The build will then be deployed to a staging server. AWS runs additional tests such as integration and load tests and deploys them to production servers. It uses AWS CodeDeploy and Elastic Beanstalk to implement the solution to AWS EC2 instances.
URL: aws.amazon.com/codepipeline
Jenkins
Jenkins is one of the most common continuous integration tools available and is entirely free to use. It supports cross-platform and offers configurations through console commands and graphical user interface. A major benefit of Jenkins is the extent of features on offer through plugins. The list is extensive, and you can submit your own too. Jenkins can distribute builds, and it tests load on multiple machines.
URL: jenkins.io
TeamCity
TeamCity is one of the favourites CI tools for enterprise companies. The tool is available commercially but is also free to use for up to twenty build configurations and three build agents. The tool is built in Java and is mostly used in .NET projects, due to the support available for .NET frameworks. There are also different plugins available for TeamCity which helps integration with various testing process.
Bamboo
Bamboo was initially released as both an on-premises and cloud solution tool, with the cloud version later replaced by Bitbucket pipelines. Bitbucket pipelines are a quickly developing solution and an appropriate replacement for the Bamboo Cloud. The tool allows Jenkins configurations to be applied to Bamboo without any difficulty.
URL: atlassian.com/software/bamboo
Circle CI
Circle CI has both on-premise as well as the cloud versions. They refer to their pricing structures as “containers.” One container is provided free of charge, and you can build as many projects as you need. When you decide to add further containers, all with fixed prices, you can choose the level of parallelization. The container and parallelization are the factors that determine the configuration of different,concurrent builds across different build agents.
URL: circleci.com
Xcode Cloud
Xcode Cloud, previously known as BuddyBuild, is the Continuous Integration and Continuous delivery platform for iOS mobile apps. Acquired by Apple, the tool integrates with Github, Bitbucket, and others, to build and test projects using Xcode. It then uses TestFlight to send builds to testers and receive feedback while maintaining user privacy. Once an app has been tested and verified, it can be uploaded and then released on the App Store.
URL: developer.apple.com/xcode-cloud
CodeShip by CloudBees
There are two versions of this hosted solution tool; basic and professional. Those opting to sign up for basic can start for free (although how long it remains free before a monthly charge kicks in seems wilfully vague on their pricing page). The basic CodeShip license has a range of paid package levels and the more expensive packages have parallelization powers. Basic works best with common workflows that don’t require bespoke structuring. It provides a quick and easy CI service, but not having Docker support is a disadvantage.
As would be expected, the pro version is supremely flexible to use and it does support Docker. A key advantage of the pro version is that you can select your instance and the number of parallelizations up to 20x. Pricing can scale expensively according to the number of concurrent builds required, but certain teams will need this configuration.
URL: cloudbees.com
Codefresh
Codefresh is the first CI tool built exclusively for Kubernetes. For those unfamiliar with Kubernetes, it’s a technology where you can take full advantage of all on-premise, hybrid and cloud infrastructures, making the process so much faster. Self-setup environments are available for Dev, QA and Devops, which helps build the solution in minutes with a single click. The tool is free on cloud for one concurrent build with upto 120 builds per month. Kubernetes platform is only available with enterprise licenses.
URL: codefresh.io
Choosing a Great CI Tool
When choosing the appropriate CI tools for your projects, there are a number of things to consider. On-premise solutions provide build process adaptability and a chance to store the artifacts locally, which some companies need. But it is not necessary to have the hardware to host them, so solutions that are hosted provide easy setup and better scalability. Also, Docker support is essential and it is something that you will need to pay attention to. Even though the number of tools that support Docker is high in number, some of the tools listed take a more dedicated approach than others. Finally, some tools on the list are easier to use than others, so having a UI which is simple and easy to use, according to your own level of experience, is very important.