With many Continuous Integration tools available in the market, it is quite a tedious task to select the best tool for your project. Following is a list of top 20 CI tools with popular features and download links.
Jenkins is an open-source continuous integration tool. It is written using the Java programming language. It facilitates real-time testing and reporting on isolated changes in a larger code base. This software helps developers to quickly find and solve defects in their code base & automate testing of their builds.
- Provide support to scale out to a large number of nodes and distribute the workload equally among them
- Easily updated with all OS and versions of Linux, Mac OS or Windows
- It offers easy installation as Jenkins comes as a WAR file all you need to drop into your JEE container and your setup up ready to run.
- Jenkins can be easily set up and configured with the help of its web interface
- It's can easily distribute work across several machines,
Download link: https://jenkins.io/download/
TeamCity is a Continuous Integration server which supports many powerful features.
- Extensibility and Customization
- Provides better code quality for any project
- It maintains CI server healthy and stable even when no builds are running
- Configure builds in DSL
- Project level cloud profiles
- Comprehensive VCS integration
- On-the-fly build progress reporting
- Remote run and pre-tested commit
Download link: https://www.jetbrains.com/teamcity/download/#section=windows
3) Travis CI:
Travis is a popular CI Tool that is free for open source projects. As it is hosted, it does not have to depend on any platform. This CI tool provides supports for many build configuration and languages like Node, PHP, Python, Java, Perl, etc.
- Travis uses the virtual machines to build application
- Notifications via Slack, HipChat, Emails and more
- Allows running parallel tests
- Linux and Mac, and iOS supported
- Easy Setup, no installation required.
- Powerful API and command line tool
Download Link: https://github.com/travis-ci/travis-ci
GoCD is an Open source Continuous Integration server. It is used to model and visualize complex workflows with ease. This CI tool allows continuous delivery and provides an intuitive interface for building CD pipelines.
- Supports parallel and sequential execution. Dependencies can be easily configured.
- Deploy any version, anytime
- Visualize end to end workflow in realtime with Value Stream Map.
- Deploy to production securely.
- Handle user authentication and authorization
- Keep orderly configuration
- Tons of plugins to enhance functionality.
- Active community for help and support.
Download link: https://www.gocd.org/download/
Bamboo is a continuous integration build server which performs - automatic build, test, and releases in a single place. It works seamlessly with JIRA software and Bitbucket. Bamboo supports many languages and technologies such as CodeDeply, Ducker, Git, SVN, Mercurial, AWS and Amazon S3 buckets.
- Run parallel batch tests
- Setting up Bamboo is pretty simple
- Per-environment permissions feature allows developers and QA to deploy to their environments
- It can trigger builds based on changes detected in the repository, push notifications from Bitbucket
- Available as hosted or on-premise versions
- Facilitates real-time collaboration and integrated with HipChat.
- Built-in Git branching and workflows. It automatically merges the branches.
Download link: https://www.atlassian.com/software/bamboo
6) Gitlab CI:
GitLab CI is a part of GitLab. It is a web application with an API that stores its state in a database. It manages projects and provides a friendly user interface, besides offering the advantage of all the features of GitLab.
- GitLab Container Registry is a secure registry for Docker images
- GitLab offers a convenient way to change metadata of an issue or merge request without adding slash commands in the comment field
- It provides APIs for most features, so it allows developers to create deeper integrations with the product
- Helps developers to put their idea into production by finding areas of improvement in their development process
- It helps you to keep your information secure with Confidential Issues
- Internal projects in GitLab allow promoting inner sourcing of internal repositories.
Download link: https://about.gitlab.com/installation/
Circle CI is a flexible CI tool that runs in any environment like cross-platform mobile app, Python API server or Docker cluster. This tool reduces bugs and improves the quality of the application.
- Allows to select Build Environment
- Support for Docker lets you configure customized environment
- Automatically cancel any queued or running builds when a newer build is triggered
- It split and balance tests across multiple containers to reduce overall build time
- Forbid non-admins from modifying critical project settings
- Improve Android and iOS store rating by shipping bug-free apps.
- Optimal Caching and Parallelism for fast performance.
- Integration with VCS tools
Download link: https://circleci.com/
Codeship is a powerful CI tool that automates the development and deployment workflow. It triggers automated workflow by simplifying pushing to the repository.
- It provides full control of the design of your CI and CD systems.
- Centralized team management and dashboards
- Easily access debug builds and SSH which helps to debug right from CI environment
- Codeship gives complete control over customizing and optimizing CI and CD workflow
- It allows encrypted external caching of Docker images
- Allows to set up teams and permissions for your organizations and team members
- Comes in two versions 1) Basic and 2) Pro
Download link: https://codeship.com/
Buildbot is a software development CI which automates the compile/test cycle. It is widely used for many software projects to validate code changes. It provides distributed, parallel execution of jobs across different platforms.
- It provides support for multiple testing hosts with various architectures.
- Report kernel crashes of hosts
- Maintains a single-source repository
- Automate the build
- Every commit build on mainline on an integration machine
- Automate deployment
- It's Open Source
Download link: https://buildbot.net/
Nevercode is a cloud-based CI delivery server that builds, tests and distributes apps, without a need for human interaction. This CI tool automatically builds the project for every commit and runs all the unit or UI tests on the emulator or simulator or on the real hardware.
- It is Cloud based, so there is no need to maintain servers
- Easy to learn and use
- Good documentation which is easy to read and understand
- Automate the entire development process with continuous integration & delivery
- Integrates with a plethora of tools
Download link: https://nevercode.io/
Integrity is a continuous integration server which works only with GitHub. In this CI tool whenever users commit the codes, it builds and runs the code. It also generates the reports and provides notifications to the user.
- This CI tool currently only works with git, but it can easily mirror with other SCM
- This CI tool supports numbers of notification mechanisms like AMQP, Email, HTTP, Amazon SES, Flowdock, Shell, and TCP.
- HTTP Notifier feature sends an HTTP POST request to the specific URL
Download link: http://integrity.github.io/
- Strider integrates with many projects like GitHub, BitBucket, Gitlab, etc.
- Allows to add hooks to execute arbitrary build actions
- Build and test your software projects continuously
- Integrates seamlessly with Github
- Publish and subscribe to socket events
- Create and modify Striders user interfaces
- Powerful plugins to customize default functionalities
- Supports Docker
Download link: https://github.com/Strider-CD/strider
AutoRABIT is an end-to-end Continuous Delivery Suite to speed up the development process. It streamlines the complete release process. It helps the organization of any size to implement Continuous Integration.
- The tool is specially designed to deploy on Salesforce Platform
- Lean and faster deployments based on changes supporting all the 120+ supported metadata types.
- Fetch changes from Version Control System and deploy them into Sandbox automatically
- Auto-commit changes into Version Control System directly from Sandbox
Download link: http://www.autorabit.com/tag/autorabit-download/
14) Final builder:
FinalBuilder is Vsoft's build tool. With FinalBuilder there is no need to edit XML, or write scripts. You can define and debug build scripts when it schedules them with windows scheduler, or integrate with Jenkins, Continua CI, etc.
- It presents build process in a logically structured, graphical interface
- It includes try and catch actions for localized error handling
- It provides tight integration with the Windows scheduling service, which allows builds to be scheduled
- FinalBuilder supports more than a dozen version control systems
- It provides support for scripting
- The output from all actions in the build process is directed to the build log.
Download Link: https://www.finalbuilder.com/downloads/finalbuilder
Wercker is a CI tool that automates builds and deploys the container. It creates automated pipelines which can be executed through the command line interface.
- Fully integrated with Github & Bitbucket
- Use Wercker CLI for faster local iterations
- Execute builds concurrently to keep your team moving
- Run parallel tests to reduce wait time of your team
- Integrate with 100s of external tools
- Receive system notification in product and by email
Download link: http://www.wercker.com/
The buildkite agent is a reliable and cross-platform build runner. This CI tool makes it easy to run automated builds on your infrastructure. It is mainly used for running build jobs, reporting back the status code and output log of the job.
- This CI tool runs on a wide variety of OS and architectures
- It can run code from any version control system
- Allows to run as many build agents as you want on any machine
- It can integrate with the tools like Slack, HipChat, Flowdock, Campfire and more
- Buildkite never sees source code or secret keys
- It offers stable infrastructure
Download link: https://buildkite.com/
Semaphore is a continuous integration tool that allows to test and deploy your code at the push of a button. It supports many languages, framework and can be integrated with Github. It can also perform automatic testing and deployment.
- Easy process for setup
- Allows automatic parallel testing
- One of the fastest CI available in the market
- It can easily cover number of projects of different sizes
- Seamless integration with GitHub and Bitbucket
Download link: https://semaphoreci.com
CruiseControl is both CI tool and an extensible framework. It is used for building a custom continuous build process. It has many plugins for a variety of source controls, build technologies which include email and instant messaging.
- Integration with a many different Source Control systems like vss, csv, svn, git, hg, perforce, clearcase, filesystem, etc.
- It allows building multiple projects on single server
- Integration with other external tools like NAnt, NDepend, NUnit, MSBuild, MBUnit and Visual Studio
- Provide support for Remote Management
Download link: http://cruisecontrol.sourceforge.net/download.html
Bitrise is a Continuous Integration and Delivery Platform as a Service. It offers Mobile Continuous Integration and Delivery for your entire team. It allows integrations with many popular services like Slack, HipChat, HockeyApp, Crashlytics, etc.
- Allows to create and test workflows in your terminal
- You get your apps without the need of manual controls
- Every build runs individually in its own virtual machine, and all data is discarded at the end of the build
- Support for third party beta testing and deployment services
- Support for GitHub Pull Request
Download link: https://github.com/bitrise-io/bitrise#install-and-setup
IBM UrbanCode Deploy is a CI application. It combines robust visibility, traceability, and auditing feature into a single package.
- Increase frequency of software delivery by automated, repeatable deployment processes
- Reduce deployment failure
- Streamline the deployment of multi-channel apps to all environments whether on-premises or in the cloud
- Enterprise level security and scalability
- Hybrid cloud environment modeling
- Drag-and-drop automation