Codefresh, branded as the #1 GitOps automation platform for Kubernetes apps, is trusted by thousands of companies as a Continuous Integration and Continuous Deployment tool that helps software teams build powerful pipelines.
Codefresh does knock it out of the park in a few areas – the focus on governance is quite strong, with SAML SSO, audit trails, role-based permissions (RBAC – role-based access control), and a native integration for secrets management called Secret Storage. Codefresh also boasts a fully-containerized experience, with each step being reusable across pipelines – without the dependency hell a CI tool like Jenkins would run you through. There are pre-built pipeline step integrations that can be used; alternately, any docker images can be used for flexibility.
But – if you’re here, it’s because you’re looking for alternatives to Codefresh. We’ll break it down in Continuous Integration tools, Continuous Deployment tools, and full CI/CD platforms.
Continuous Integration Alternatives to Consider
CircleCI is regarded highly within the industry as it helps developers push successful green builds safely and securely. The tool focuses on testing all code changes submitted and has been used by many well-known companies. Like Travis CI, build configurations live in a file that must be added for the pipeline to run. Having these configuration files, and having them live in source control management, allows developers to change builds on a per branch basis.
Each build run in CircleCI runs in a clean LXC container that can be directly SSHed into. This allows for quick and advanced debugging to find out why a pipeline failed. Also, in each build container, there are pre-installed packages that include the most popular databases, languages, and frameworks. This makes it easy as the containers are ready to go. If there are configuration elements that are not included, CircleCI has a resource called Orbs (think of Orbs as plugins). This resource makes writing and customizing CircleCI’s config simple as they adhere to a Reusable Configuration feature that allows the developer to define parameterized configuration elements and reuse those elements throughout the project config file.
CircleCI can do a lot. You can use many different languages, frameworks, and dependencies in your build and there is even an API for custom integrations. It also provides built-in Docker support and iOS support. Even though it provides all of these features, it does currently lack security and governance, which more experienced users need – and the list of integrations and plugins that are built in isn’t extensive. However, CircleCI makes it simple for a software engineer to hit the ground running – after a small learning curve.
This solution is not open-source. We mention this, because many of the following alternatives are. CircleCI does offer a free plan, but it won’t be enough for larger organizations – only personal projects and perhaps small businesses just starting on their CI/CD journey.
Back in 2012, Brad Rydzewski founded an open-source project called Drone. Brad created Drone to empower engineers with a self-service CI platform that was container-native, scalable, and simple to use. Drone flourished, garnering over 100 million pulls on DockerHub, 50k active users, 275+ contributors, and a whopping 22.5k stars on GitHub. Harness acquired Drone in August 2020 to further its mission of simplifying software delivery for engineers and DevOps teams.
When Harness acquired Drone, it committed to keeping it open-source forever. Harness recently reaffirmed its investment in the open-source solution with a massive release where a sleeker interface, new visual pipeline builder, governance and security features, and real-time debugging tools were added. While this feature-rich version is free, there is also a paid version of Drone that provides access to enterprise support and more integrations and features yet. Additional features include secrets management options, autoscaling, custom plugins, and more.
Drone packs a mighty punch for such a lightweight tool. It is feature-rich, with many options/integrations for each feature, allowing you to select your preferred third party vendor. It boasts an installation for beginners: with an install so simple it’s ready in 5 minutes, the barrier to entry is quite low. No scripting is required – every pipeline is configuration as code, every step runs in its own container, and plugins are containerized as well, ensuring zero plugin dependencies.
Continuous Delivery Alternatives to Consider
Argo CD automates Kubernetes deployments using GitOps technology. With support for a wide variety of config management tools, SSO integrations, and web hook integrations, Argo CD gives developers a simple yet effective deployment method. Argo reduces administration toil by making application definitions, configurations, and environments declarative and version-controlled. Argo’s stated goal is to make application deployments automated, auditable, and easy to understand.
Built on Kubernetes, Argo CD offers a modern take on Continuous Deployment. It’s a very customizable, self-service tool that provides waves so you can push more of your deployment steps into Kubernetes, eliminating the need for CD in Jenkins. Additionally, it provides multi-cluster and multi-tenancy capabilities, RBAC, SSO, audit trails, templating with Kustomize and Helm, canary deployments through a web hook, and more.
GoCD is an open-source tool sponsored by ThoughtWorks, a global software company / consultancy firm. This tool boasts a plethora of features, such as pipelines as code, a native Kubernetes integration, elastic agents, JSON and YAML support, and a modern interface. It is, however, a newer tool – as such, experienced users may not like the lack of more advanced features. Otherwise, there are a healthy amount of plugins available – nothing overwhelming like Jenkins, but enough to enhance the extensibility of the tool. At 6k stars on GitHub, over 120 contributors, and an active community, it’s not a tool to scoff at. It helps make software deployments go smoothly.
GoCD seems to hit all the hot buzzwords right now: pipelines as code, Kubernetes, and GitOps – oh my! There is also a surprisingly active community surrounding the tool, so documentation issues aren’t as big of a problem on this open-source solution. The tool itself is also quite reliable, and it runs pipelines in parallel steps, is self-service, and supports most languages and frameworks.
GitLab, originally a source code management tool based on Git (like GitHub and Bitbucket, for reference), introduced a CI/CD solution to their product suite. They support all major cloud providers, including Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). They also support container orchestration tools, such as Kubernetes and ECS. In terms of infrastructure, GitLab recently released a Terraform integration.
A major incentive to use GitLab is the ease and basically built in functionality. Everything can be in one place. A single application can take care of the entire DevOps lifecycle from source control management to release and monitoring. Only one application is needed for integration and permissions. Within GitLab, it provides you with deeper insights such as programming languages used in the repository, code coverage history and number of commits per month, day and hour. This allows users to have visibility and a more thorough understanding of the CI/CD process.
The CI/CD platform also offers good governance and compliance features available on their enterprise-level plans. GitLab has a beautiful user interface, but where it lacks is its ease of use. There is definitely a learning curve to utilize the platform.
As far as Travis CI alternatives go, GitLab is a fairly good recommendation, especially if GitLab is already your source code manager of choice. This is not an open-source solution. Similarly to CircleCI, it offers a basic plan, along with an enterprise plan that leverages more features.
Harness, the premier commercial and enterprise-grade Continuous Delivery solution, 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 GCP, Azure, 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. In addition to the native secrets manager, Harness also provides integrations to third-party vendors such as HashiCorp Vault, Amazon Secrets Manager, Google Secret Manager, AWS Key Management Service, Google Cloud Secret Manager, CyberArk, and Azure Key Vault.
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.
Lastly, Harness is not open-source, but does offers different tiers of plans to match your needs.
Alternatives We Don’t Recommend
As always, there are products out there you’ll read about that, frankly, are past their prime – and we flat-out don’t recommend.
Jenkins is the most well-known open source, self-managed automation tool that is used for both Continuous Integration and Continuous Deployment. Since it is open-source, it is free to use for all and there is a huge community following which leads to extra support, documentation, and features. Jenkins has over 1,800 plugins available because of this community, which adds to the flexibility of the tool.
When it comes to installation requirements, Jenkins is pretty easy. This CI tool is a self-contained Java program that is platform-agnostic. It is available for most major operating systems such as Linux, Windows, and Mac, and is also available as a normal installer and a war file.
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. For one, plugin authors often abandon their plugins (leaving you to scramble to find a new plugin or write your own), plugins can create dependency chains, plugins can introduce security vulnerabilities, etc. We don’t feel comfortable recommending a product that relies so heavily upon added extensibility. It was also designed to be a Continous 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.
Migrate from Codefresh to Harness
Is it time for a change? Are you looking for a software delivery solution that’s simple, scalable, and smart? Harness’ software delivery platform packs a punch with modules for Continuous Integration, Continuous Delivery, and Cloud Cost Management – with Feature Flags and Continuous Verification coming soon! Why not schedule a demo with Harness to see if we’re the right fit for your DevOps teams and Engineers alike?