Good CI/CD tools are a critical component of being able to create a “wow” factor in the software development world. Whether it's building automation in workflows, reducing complexity of tasks in continuous delivery pipelines, or managing code changes and bugs more efficiently, choosing the right toolkit for the work ahead is paramount.
In DevOps, that aligns very closely with CI/CD and managing the overall deployment pipeline. But with so many steps and so many contributors, how can a DevOps team more effectively create strong foundations that enable them to scale? In an ideal world, engineering teams (including DevOps) always strive to build for scale from the get-go. The good news is that other companies out there recognize this need and build tools for that purpose. While they all provide their own flavor, the end goal is the same: make it easier to scale up software delivery.
Let’s explore some of these CI/CD tools and how they play into needs like collaboration, easy installation, environment permissions, version control systems, as well as other key considerations in the DevOps lifecycle.
Harness, the premier commercial and enterprise-grade CI/CD platform, is incredibly powerful and built for teams with abundant or limited resources alike by ensuring a self-service, simple, efficient approach to software delivery.
Whether your Kubernetes clusters are in Google Cloud Platform (GCP), Microsoft Azure, Amazon Web Services (AWS) – or even homegrown/self-hosted, Harness provides you with capabilities to deploy your Helm charts to as many clusters as you want.
Harness auto-generates all deployment scripts based on built-in or custom deployment templates – hear that, Jenkins? That’s right, no scripting! It also has machine learning-based deployment verification, soon to be its own module named Continuous Verification, that monitors your app for abnormalities after a deployment. For more information on Continuous Verification – and some sneak peek screenshots – visit our article on The Importance of Continuous Verification.
Harness boasts deep integrations with observability platforms such as Datadog, New Relic, and AppDynamics. Infrastructure provisioners are offered through robust integrations of CloudFormation and Terraform. Additionally, Harness integrates flawlessly with Jira and SNOW for issue tracking. It also has a huge focus on compliance and governance, boasting fine-grained RBAC, integrated secrets management, permissions, and audit trails.
The full Harness software delivery platform has Continuous Delivery, Continuous Integration, Feature Flags, Continuous Verification, and Cloud Cost Management modules, allowing you to build, test, deploy, and verify on demand. Harness is also heavily invested in the open-source community with its acquisition of Drone, which you can download today. Lastly, Harness now fully supports GCP, Microsoft Azure, and AWS – learn more about our commitment to be vendor-agnostic in our recent announcement.
Freemium Option Available
SaaS & On-Premise
Continuous Verification, Canary Deployments
Full GitOps Functionality with Command Line Interface
RBAC, SSO, & Secrets Management
Accelerate Metrics, Dashboards, & Reporting
Quickstart Allows for Pipelines in 15 Minutes
To see a more in-depth breakdown between Harness and other providers, take a look at our DevOps Comparison Tools page.
GitLab offers a thorough software delivery platform that includes a core open sourced version and features available for purchase. GitLab would like to the the single source of truth for CI/CD at an organization. All the software delivery fundamentals exist here, but the tool lacks advanced governance features such as automatic verification and automatic rollbacks.
The difficulty with GitLab is its all-or-nothing model. If you want to use any of the GitLab tools, you need to use all of GitLab tools. So if your team is opinionated when it comes to the tools they use, you’ll have to convince them to leave behind what’s familiar and switch to something new. Our advice for GitLab? Stick to Git.
SaaS & On-Premise
Cloud-Native & Traditional Apps
Source code management
As far as CI/CD tools go, Codefresh hits the mark in a few areas – namely when it comes to modern features. They seem to hit all the buzzwords, like pipeline as code, GitOps 2.0, automatic preview environments, Kubernetes – oh my!
This cloud-native, container-based platform boasts strong governance features, such as RBAC, audit trails, SAML SSO, built-in secrets management through encryption (or, if you’re a fan of third parties, HashiCorp Vault), and more.
Additionally, Codefresh boasts integrations to all major cloud and Git repository providers, Jira, Helm, Argo, and GitHub Actions. When it comes to observability, Codefresh handles that with Honeycomb.
The biggest worries about Codefresh are resource consumption and downtime (even if partial). Looking through their status page, there are a fair amount of outages. As for resource consumption, customer reviews state that it’s easy to go over plan allowances since Codefresh consumes a fair amount of resources. They’d then need to pay on top of their regular costs, which – if you’re on a tight budget – isn’t the greatest thing ever.
In 2018, Azure DevOps was born – and with that came a variety of tools for CI/CD, reporting, artifacts, Git repository management, testing, and more. They have a wide variety of plugins and extensions that work with the platform.
As a CI/CD tool, Azure DevOps is pretty flexible and provides customizable pipelines. The one (pretty large) downside to Azure DevOps Pipelines is that it requires a high amount of scripting in the setup and configuration process. They do, however, have pipeline templates and triggers that improve the setup process.
Azure DevOps provides support for Azure, Kubernetes, and VM-based resources. Their GitOps functionality is for pipelines only, not for releases. They lack any verification capabilities, and rollbacks are achieved using a plugin. You can view software delivery metrics such as build history and deployment status, but are limited to determining deployment velocity.
Like other modern CI/CD tools, Azure DevOps supports the creation of docker images and can easily deploy and run Docker containers on Azure.
In a not-so-surprising move, Microsoft and Google recently partnered with Codefresh to become the recommended third-party CI/CD solution. And with the recent purchase of GitHub, Microsoft is now selling two competing products: GitHub Action and Azure DevOps. We’re not sure what this means for ADO, but Microsoft’s Sasha Rosenbaum has stated that they’re moving towards only having one. Something to keep in mind!
Separate CI and CD Tools, & Tools We Don’t Recommend
When it comes to CI/CD, it’s not unheard of to use separate vendors for both Continuous Integration and Continuous Deployment. For example, one could go with CircleCI for CI and GoCD for CD. Alternatively, one could go for open-source projects and use Drone for CI and Argo CD for CD. There are so many options, depending on if you want a mostly pre-built solution or one where you’ll need to script/extend. For that reason, while there are definitely some tools we recommend, there are some we’d tell you to avoid. Here’s a short list:
The main focus for Travis CI, since its inception, was their love for open-source. Open-source projects were free to be tested on Travis CI, but in 2020, a new pricing strategy was introduced that added some restrictions to the free open-source edition. We’ve also seen a lot of bad reviews from this change: users claim it is much harder to get approved as an open-source project, and that sometimes, they don’t even hear back from customer support, leading them to select a different tool altogether. Since we’re huge fans of open-source, it doesn’t feel right to recommend Travis CI.
Jenkins is the most well-known open-source tool that is used for both Continuous Integration and Continuous Deployment. Since it is an open-source automation server, it is free to use for all and there is a huge community following which leads to extra support, documentation, and features. This continuous integration server/tool is a self-contained Java program that is platform-agnostic. It is available for most major operating systems such as Linux, Windows, and MacOS.
We usually put Jenkins in this list since it’s a decade old, isn’t cloud-native, and frankly relies on plugins too much to extend what it can do. We don’t feel comfortable recommending a product that relies so heavily upon added extensibility. It was also designed to be a Continuous Integration tool, and DevOps engineers/Software engineers must rely on scripting to extend it into Continuous Deployment.
Spinnaker, originally created by Netflix, is a CD platform that simply has too many problems for us to recommend. We went over them in our Spinnaker Alternatives post, but to recap: it’s on-premise only, lacks native secrets management, doesn’t provide traditional app support, and has been referred to as “a nightmare” to set up and configure. It just doesn’t seem worth the effort for a platform that doesn’t offer native CI, only CD.
Build, Test, Deploy, and Verify On Demand With Harness
This blog post presented several highly-recommended CI/CD tools, and various CI and CD vendors. If you enjoyed this post and found it insightful, you can find more in-depth breakdowns of CI/CD tools on our DevOps Comparison Tools page - and how they stack up against Harness. Better yet, get a free copy of our CI/CD Buyer’s Guide eBook for an in-depth, unbiased look into many CI/CD tools currently on the market - at 55 pages long, it’s a curl-up-with-a-coffee kind of book!
While you’re evaluating solutions, why don’t you take a moment to sign up for a free trial of Harness? It’s wildly easier to compare a solution when you can play around in it!