What Are CI/CD Tools?

Continuous Integration and Continuous Delivery (CI/CD) is an application development and delivery method that enables fast and frequent software delivery. It works by automating the integration, delivery, and deployment stages of the software development lifecycle. 

The “CD” in CI/CD sometimes refers to continuous deployment. This is a more advanced development practice in which every developer change goes through a fully automated test and deployment cycle directly into all of the environments, including production, without human intervention.

The CI/CD approach helps development and operations teams address the challenges of integrating and deploying code changes. It cannot work without tools that automate all aspects of software build, test, and deployment processes. 

Specialized CI/CD platforms provide a rich environment for software engineers to collaborate. They are used by development teams, DevOps engineers, and development leadership to create automated delivery pipelines, monitor CI/CD pipelines, and collaborate to create an optimal software delivery process.

Common CI/CD Tools You Should Know

Common CI/CD Tools You Should Know

Let’s cut to the chase – we collected 16 great tools you can use to build your CI/CD pipeline. To better understand how to choose the best tool for you, see the section on evaluating CI/CD tools below.

1.  Argo CD

Argo CD

Deployment model: on-premises

License: open source

Argo CD is a popular cloud native, open source GitOps tool for Kubernetes. It is a high-scoring Cloud Native Computing Foundation (CNCF) project covered by the Apache 2.0 license. Argo uses a Git repository as the source of truth defining that desired target state of applications, serving as a Kubernetes controller to monitor clusters and ensure they are in sync with the repository. 

Argo is useful for detecting configuration drift, monitoring application health, and rolling back config changes. It supports complex application development strategies such as blue/green deployment.

Argo CD is supported by Argo Workflows, a native workflow engine for Kubernetes that supports DAGs and step-based workflows. Argo Workflows can be used to manage continuous integration (CI), tightly integrated with the Argo CD engine.

2.Codefresh

Codefresh

Deployment model: cloud, hybrid, and on-premises

License: commercial, based on the open source Argo project

Codefresh is a modern continuous integration and continuous delivery toolchain built on the foundation of GitOps and Argo. It takes the best of the open source Argo toolset and provides essential enterprise features like a unified user interface, a single pane for cloud-wide management, secure enterprise-grade runtime, end-to-end auditability, and cross-application single sign-on.

It has comprehensive GitOps continuous integration designed for Kubernetes and modern applications. It is built for flexibility and scalability around Argo Workflows and Argo Events. Codefresh seamlessly combines the continuous integration side with a powerful GitOps software delivery solution powered by Argo that is tightly integrated with the continuous integration feature set. It includes support for advanced deployments like canary, blue-green, and experimental releases with the ability to easily track builds and releases across your organization. 

It provides comprehensive dashboards that offer visibility from code to cloud while integrating with your favorite tools. A centralized dashboard gives insight into deployments at scale while providing the security and support enterprises need.

Get a free trial of Codefresh

3. Azure DevOps

Azure DevOps

Deployment model: cloud and on-premises

License: commercial

Azure DevOps is a collaboration platform that helps DevOps teams plan and implement projects.  Azure DevOps provides several integrated services including Azure Repos, Azure Pipelines, Azure Boards, Azure Test Plans, and Azure Artifacts. Together, these services provide a CI/CD pipeline that starts from source code in GitHub or on-premise containers, adds it to an Azure-based repository, and maintains build and release pipelines for the software project.

Azure DevOps Services supports cloud-based projects, while Azure DevOps Server supports on-premise projects. 

4. Atlassian Bamboo

Atlassian Bamboo

Deployment model: on-premises, with hosting options available

License: commercial 

Bamboo is a CI automation server from Atlassian, which lets developers build, integrate, and test automatically to prepare applications for deployment. It is flexible, supporting various third-party tools with a user-friendly GUI. 

Bamboo helps ensure high quality, handling software integration and providing end-to-end visibility into the release implementation. It offers deployment support, build agent management, Git branching, and automated merging.

5. Buildkite

Buildkite

Deployment model: hybrid

License: commercial

Buildkite is a CI pipeline automated testing platform that helps ensure security and smooth delivery. Users can create webhooks and REST APIs to build custom workflows and tools. It supports various programming languages, including Python, Node, Java, Ruby, and Haskell.

Buildkite lets administrators configure and manage pipeline access permissions. Developers can use it to build, test, and deploy container-based projects and create custom CLI tools, dashboards, and bots using GraphQL APIs. Buildkite supports SSO across various SAML providers, maintaining an audit log to provide visibility into user activity. 

6. CircleCI

CircleCI

Deployment model: cloud, on-premises

License: commercial

CircleCI is a cloud-based enterprise CI solution known for scalability, performance, and speed. It integrates with GitHub and BitBucket, enabling developers to test code after each commit and create workflows for large-scale DevOps pipelines. Users can increase throughput by simultaneously running multiple VMs or containers (known as executors). 

CircleCI offers a graphical user interface (GUI) and YAML-based configuration.

7. Codeship

Codeship

Deployment model: cloud

License: commercial

Codeship is a hosted release automation platform that enables multiple early code releases. Codeship is highly customizable and integrates with popular cloud environments, services, and tools. It provides project notifications, dashboards, and management capabilities.

8. GitHub Actions

GitHub Actions

Deployment model: cloud and hybrid

License: commercial

GitHub Actions is a CI automation tool for building, testing, and deploying code from GitHub. Automation can be defined based on GitHub events such as “code push”. It allows developers to run parallel tests across multiple runtime versions and operating systems. GitHub Actions offers secret storage for storing IaC data, limited free access to hosted runtime environments, and support for major operating systems and languages. However, it can only be used for GitHub projects.

9. GitLab CI/CD

GitLab CI/CD

Deployment model: cloud, hybrid, and on-premise

License: commercial

GitLab CI/CD is the CI/CD tool in the GitLab suite, which helps manage the software development life cycle for Git-based applications. The GitLab continuous integration (CI) service automatically builds and tests code pushed to the application, while the continuous delivery features automate releases. GitLab supports continuous deployment, enabling automation of the entire pipeline through to deployment.

GitLab CI/CD offers branching tools to create, view, and manage code, a version control system, as well as various scanning and testing tools, including SAST, DAST, and container scanning. It allows developers to use the Git repository as the single source of truth for collaborative projects, supporting a GitOps work model. The solution can only be used with GitLab repositories.

10. GoCD

GoCD

Deployment model: on-premises

License: open source

GoCD is an open source CI server that serves as a CI/CD pipeline building tool. It helps create complex software release pipelines and augments CI capabilities with continuous delivery and deployment automation. It is a flexible ecosystem that allows developers to add plugins.

GoCD uses code from source control to define a pipeline in an infrastructure-as-code (IaC) approach that lets developers test, reuse, and manage pipelines across different projects. Both JSON and YAML templates can represent pipelines. GoCD can run pipelines sequentially or simultaneously, using configurable dependencies. It uses value stream mapping to provide full visibility over workflows and helps track features from commit to production.

11. Harness

Harness

Deployment model: hybrid on-premises

License: commercial

Harness is a Continuous Delivery-as-a-Service (CDaaS) platform for on-premise and cloud-based projects. It allows DevOps engineers to automate production code testing, deployment, and rollback. It provides various CD pipeline templates, including rolling, blue/green, and canary deployments, with the ability to build custom templates with YAML code.

Harness can automatically detect quality and performance regression in canary deployments. It enables automatic deployments and rollbacks, with self-service deployments that allow managers to configure role-based permissions. In addition, it provides event-based triggers, real-time notifications, approval flows, IP allowlisting, and log analysis. It supports authentication mechanisms like OAuth and SSO.

12. Jenkins 

Deployment model: on-premises

License: open source

Jenkins is an open source automation tool that provides plugins to help develop, deploy, and deliver software. It is a server that lets developers distribute tasks across various machines and perform distributed tests and deployments. The Jenkins Pipeline offers several plugins to facilitate the implementation of a continuous integration (CI) pipeline. 

Administrators can use the Blue Ocean pipeline editor to create project pipelines, write Jenkinsfiles, connect pipelines to a source control repository, and update project changes automatically.

The Jenkins remote access API lets organizations capture and access in various formats (i.e., JSON, Python, and XML). It allows third-party administrators to connect to Jenkins and configure credentials to grant employee access. 

13. Spinnaker

Spinnaker

Deployment model: on-premise

License: open source

Spinnaker is a continuous delivery platform for releasing and deploying code changes in multi-cloud environments. It builds deployment pipelines to run system and integration tests, manage servers, and keep track of rollouts. Pipelines can launch based on triggers from other Spinnaker pipelines or Jenkins, Git events, Docker, etc. 

Spinnaker lets developers build and deploy container images, facilitating rollouts and rollbacks and minimizing configuration drift. It can integrate with services like Prometheus, Datadog, and Stackdriver to monitor releases for canary testing.

14. TeamCity

TeamCity

Deployment model: On-premises

License: commercial

TeamCity is a CI and management server from JetBrains. It helps developers build and deploy various applications, running in Java environments and integrating with IDEs and Visual Studio. It supports Linux, Windows, and .NET. 

TeamCity can reuse configurations from parent projects for child projects, run parallel builds across multiple environments, run history builds, and ensure the CI server remains stable. It is customizable, enables user and role management, and provides server activity monitoring. 

15. Tekton

Tekton

Deployment model: on-premises

License: open source

Tekton is a Google-developed, open source CI/CD framework for Kubernetes-native projects. Tekton leverages Kubernetes to create an abstraction layer that enables developers to build, test, and deploy applications across hybrid and multi-cloud environments. 

Tekton offers several K8s custom resource extensions defining CI/CD pipelines, with descriptions in YAML source files stored in the code repository. Developers can build and deploy immutable images and manage infrastructure version control. Tekton also makes rollback easier and facilitates progressive deployment strategies like blue/green, canary, and rolling deployments.

16. Travis CI

Travis CI

Deployment model: cloud

License: commercial

Travis CI is a continuous integration service for building and testing projects. It can detect commits automatically in the GitHub repository, build the project, and run response tests. Travis CI supports various languages, operating systems, and configurations. It enables companies to monitor GitHub projects via real-time build views, offers database services, deploys passing builds automatically, and enables pull requests.

How to Choose CI/CD Tools

When building a CI/CD pipeline, organizations must assess their existing processes and identify repetitive tasks that an automated tool could complete faster. This assessment should cover team productivity, infrastructure, and budgetary requirements. A comprehensive understanding of the current situation and business needs can help inform decisions regarding the appropriate CI/CD tooling.

When evaluating CI/CD solutions, organizations should consider the following factors:

License Type and Build vs. Buy

Organizations should start by deciding whether they want to build a custom (roll-your-own) tool, choose, purchase an off-the-shelf proprietary tool, or rely on open source solutions. The trade-off is often between cost and effort on the one hand and flexibility and control on the other. 

Open source tools are free to use, but they may require paid hosting. The main drawback of an open source tool is the dependence on the open source community – developers might choose to introduce radical changes or stop actively developing the solution altogether. Most open source tools, save for the most popular, usually lack strong support.  

Proprietary solutions usually have good support, with hands-on teams to help address software issues. Proprietary software vendors sometimes allow customers to adapt their tools for their specific requirements. However, powerful proprietary tools can be expensive, and some companies can’t afford them.

There should be an adequate open source or paid option for most use cases, but it may be necessary to develop a custom tool in some ambitious projects. Developers can usually leverage existing software to assemble new tools. This option requires the most effort and could be the most expensive to maintain.

Hosting Model

The type of project should determine the hosting model used. For example, if the entire codebase must remain on-premises, it will require an on-premise solution. The organization would need to choose a tool that works on its existing servers or consider investing in new infrastructure. Organizations already using virtual development infrastructure can add CI/CD tools to their virtual environments. Either way, the DevOps teams must be able to maintain the model.

Many organizations opt for SaaS CI/CD tools – this model means the organization buys the tool’s functionality as a service while the vendor runs and maintains the tool. This option is often the easiest because it offloads support efforts and costs to the vendor, making the organization entirely dependent on the vendor. 

Support, Documentation, and Training

It may be useful to consider if the CI/CD solutions have the necessary support, documentation, and training to help businesses implement CI/CD pipelines. For example, the DevOps teams may require training to use the tool. Emergency support is also important – some open source tools rely on user community support, which may be insufficient for business-critical operations. Organizations should also provide documentation when onboarding new team members.

Cost Model

There is always a cost to adding a new tool to the development ecosystem. Even open source tools that run on the company’s infrastructure accrue costs such as setup and support. Indirect costs may also include lost productivity due to the learning curve of a new tool. SaaS and proprietary tools usually have added usage-based costs and offer significant flexibility, but they also require careful planning. 

When choosing the right cost model, an organization should consider the size and number of projects and builds per project. Some vendors charge based on the number of builds, and others restrict it. The organization should also consider if it requires concurrent builds – for example, multiple teams want access to the same tools. The number of users accessing the tool may also affect the cost.

Another factor affecting your cost is the systems supported by the CI/CD tool you select. Some tools only support a specific vendor’s ecosystem – for example, GitHub Actions only supports GitHub repositories. This means you cannot leverage existing investments in tools from other vendors. Prefer a solution that is vendor-agnostic and plays well with your existing tools.

Related content: Read our guide to CI/CD best practices

CI/CD with Codefresh

Codefresh is unique among other solutions surveyed in this article, due to its ability to deploy seamlessly into a Kubernetes cluster and save the entire configuration to Git. 

Enterprise version of the Argo stack

The Codefresh runtime includes the enterprise version of the entire Argo stack – with tools to simplify their operation and provide better traceability between them. By building on and integrating Argo Workflows and Events for running delivery pipelines, as well as Argo CD and Rollouts for GitOps deployments and progressive delivery, Codefresh provides a stronger security model, with a greatly simplified management that works at scale.

Simplified CI/CD pipelines

Codefresh Delivery Pipelines greatly simplify the creation and monitoring of workflows along with their triggers. These pipelines are optimized for CI/CD pipelines, making it possible to check out code, build and test artifacts using a GitOps work model.

Codefresh GitOps provides the application deployment layer. Defining an application is as simple as identifying a source repo and its target. Codefresh GitOps is built on Argo CD and Argo Rollouts to power progressive delivery.

Codefresh dashboard
Seamless integration with your existing toolchain

In addition, the platform seamlessly integrates with Git, JIRA, and many other popular development tools, providing a single dashboard of all activity in the software supply chain. 

Bringing all these components into a single flow makes it easy to identify the cause of breaking changes, and keep track of all your running infrastructure and applications as changes flow into them. With easy remediation, teams have more confidence in deploying more frequently across the entire application portfolio.

Enterprise scale

Lastly, Codefresh works at scale. Filtering all changes by deployment time, committer, application, JIRA issue, or several other dimensions brings incredible traceability and clarity. The dashboard can even track all the locations a particular artifact is deployed across the entire organization.

 Conquer DevOps with Codefresh

Conquer DevOps with Codefresh

Realize your true DevOps potential with the premier GitOps solution powered by Argo.

Check It Out