Product Solutions Resources Partners Pricing Support Talk to an expert Get free trial Login GitLab vs Harness Decision Kit Harness.io Summary Harness.io provides a service that automates the Continuous Integration, Continuous Delivery and what they call Continuous Verification stages of the Software Development Life Cycle (SDLC). Their CD service is available both as SaaS and on-premises deployment (Connected On-Premises & Disconnected On-Premises). Harness CI (formerly Drone) is a self service CI offering. Drone Cloud is a free Continuous Integration service for the Open Source community. We expect Harness.io to attempt to expand their offerings’ breadth and depth across the entire DevOps lifecycle - likely driven by additional acquisitions. In the near term, Harness.io is a solid competitor to the Ops Section. They do so at the moment by their focus and execution that, on the surface, abstracts away complexity and provides a pretty decent holistic end to end-user experience for completing specific workflows such as creating a first build, approval, or chained pipeline. Large customers and those operating at enterprise DevOps scale probably have challenges solving more complex use cases with the current Harness.io platform. However, Harness.io is saying to the market that their solution simplifies DevOps complexity. This messaging starts on their landing page and continues with the first-time end-user interaction with the product. It’s a compelling position and one that will continue to garner customer interest and influence the market. Harness CI/CD Like GitLab, Harness CI (formerly Drone) and CD also uses YAML files to define the steps of the CI/CD pipelines as well as all configuration for Harness CD. Unlike GitLab, Harness CI and Harness CD remain separate products. Continuous Integration (CI) The most notable feature of Harness CI is it’s container-first approach, using isolated containers to execute each step in the CI pipeline. Drone also offers the option to run pipelines directly on a host machine, in a Digital Ocean Droplet or in a MacStadium Virtual Machine. Drone packages and distributes Plugins as Docker containers that perform predefined tasks and are configured as steps in your pipeline. A list of available Plugins can be downloaded from their Plugin Marketplace. Continuous Delivery (CD) The most notable features for Harness CD are its structure of creating deployment pipelines from common workflow steps which promote service artifacts from environment to environment. This is the natural structure for deployment and delivery teams. Harness CD also provides central teams with easy ways to connect to shared infrastructure and provide common deployment templates for use by developmemt teams. Every configuration option for your application, services, environments and templates are encoded in YAML, but the basic components of that configuration can be done in UI. This configuration method provides strong auditability and when combined with a built in secret management capability provides many of the governance controls needed by large enterprises. Harness Continuous Verification (CV) Harness CV enables teams to connect application monitoring tools to their deployment process so that they can utilize automatic roll-back if application performance regresses during a deployment. Recent Additions Harness recently added Feature Flags (Continuous Features) and Cloud Cost Management (Continuous Efficiency) to its portfolio of products. At present both are only lightly integrated to the core Continuous Delivery Product. Strengths Ability for platform teams to create shared deployment pipelines using a pipeline template. This enables development teams to pass variables to the pipeline template without having to write nor manage the pipeline within their application project. Ability to specify deployment concepts via workflows helps lower the barrier to setting up effective, repeatable deployment pipelines. Connectors removes the need to script or re-write yaml files to common deployment targets Pipeline Governance enables central teams to easily review compliance across the entire organization Centralized out-of-the-box and custom dashboards to understand the state of environments, applications and deployments Continuous Verification capability integrates with several monitoring tools and applies machine learning to detect anomalies and automate rollback of deployment Configuration as Code - All CI/CD configuration is stored in YAML file for Git style collaboration Integrates with multiple source code (GitLab, GitHub, etc), ticketing (ServiceNow, JIRA) and monitoring (DataDog, New Relic) tools Gaps No built-in SCM capability - context switching from SourceCode to CI to CD tools (Harness CI and Harness CD remain separate) to take a pipeline from code to production. No commenting features so that deployment teams and developers can collaborate. Harness provides automated pipeline controls for continuous delivery but does not support manual Release Orchestration tools required by Release Managers outside of manual approvals required in automated deployments. Several out of the box integrations, but feedback from those systems is via a console type interface, making it harder to monitor tasks and to track down root cause of problems during deployment. No built in application or artifact security scanning- must rely on third party products. This lengthens time to secure, test and deploy. No Single Integrated DevOps Application: Harness is a tool that automates the Continuous Integration and Continuous Deployment stage of the Software Development Life Cycle. To extend functionality, integration with plugins is required. CI Security Accreditations: There is no information available on if Harness CI has achieved security accreditations such FedRamp and SOC 2 Harness CI has not been recognized by Forrester Wave as a Continuous Integration leader Feature Comparison FEATURES Free CI/CD with GitLab hosted or self-managed Runners SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab.com hosted runners allow you to use GitLab CI/CD completely free up to 400 build minutes for private projects and 50,000 minutes for public projects. Use your own runner for unlimited build minutes or special build environment requirements. Explore GitLab.com offerings Built-in CI/CD SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab has built-in Continuous Integration/Continuous Delivery, for free, no need to install it separately. Use it to build, test, and deploy your website (GitLab Pages) or webapp. The job results are displayed on merge requests for easy access. Learn more about CI/CD CI/CD Horizontal Autoscaling SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab CI/CD cloud native architecture can easily scale horizontally by adding new nodes if the workload increases. GitLab Runners can automatically spin up and down new containers to ensure pipelines are processed immediately and minimize costs. Learn more about GitLab CI/CD Horizontal Autoscaling CI/CD Pipelines Dashboard SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Visualize the history and current status of pipelines across projects and groups all in a single dashboard that can be customized for each user. Learn more about Cross-Project Pipelines in the Operations Dashboard Deploy from Chat SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Deploy from one environment (e.g. staging) to any other (e.g. production) from Chat Read the documentation on Slash commands Comprehensive pipeline graphs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Pipelines can be complex structures with many sequential and parallel jobs. To make it a little easier to see what is going on, you can view a graph of a single pipeline and its status. Learn more about pipeline graphs Browsable artifacts SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE With GitLab CI you can upload your job artifacts in GitLab itself without the need of an external service. Because of this, artifacts are also browsable through GitLab’s web interface. Learn more about using job artifacts in your project Latest artifacts locked to prevent deletion SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE The latest artifact of a successful job and pipeline on any active branch, MR, or tag is automatically locked to prevent being deleted. This makes it possible to set an aggressive expiration policy to clean up older artifacts, reduce disk space consumption, and ensure the latest artifact is always available. This default behavior is configurable at the project level and can be disabled in project settings. Learn more about job artifacts expiration Scheduled triggering of pipelines SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE You can make your pipelines run on a schedule in a cron-like environment. Learn how to trigger pipelines on a schedule in GitLab Multi-project pipeline graphs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Visualize how pipelines across projects are linked together, including cross project dependencies. Learn more about multi-project pipeline graphs Protected variables SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE You can mark a variable as “protected” to make it available only to jobs running on protected branches, therefore only authorized users can get access to it. Learn how to use protected variables Group-level variables SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Define variables at the group level and use them in any project in the group. Learn how to configure variables Customizable path for CI/CD configuration SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE You can define a custom path into your repository for your CI/CD configuration file. Learn how to configure a custom CI/CD configuration file Run CI/CD jobs on Windows SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Runner supports Windows and can run jobs natively on this platform. You can automatically build, test, and deploy Windows-based projects by leveraging PowerShell or batch files. Install GitLab Runner on Windows Run CI/CD jobs on macOS SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Runner supports macOS and can run jobs natively on this platform. You can automatically build, test, and deploy for macOS based projects by leveraging shell scripts and command line tools. Install GitLab Runner on macOS Run CI/CD jobs on Linux ARM SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Runner supports Linux operating systems on ARM architectures and can run jobs natively on this platform. You can automatically build, test, and deploy for Linux ARM based projects by leveraging shell scripts and command line tools. Install GitLab Runner on Linux Run CI/CD jobs on FreeBSD SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Runner supports FreeBSD and can run jobs natively on this platform. You can automatically build, test, and deploy for FreeBSD-based projects by leveraging shell scripts and command line tools. Install GitLab Runner on FreeBSD Details on duration for each command execution in GitLab CI/CD SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Other CI systems show execution time for each single command run in CI jobs, not just the overall time. We’re reconsidering how job output logs are managed in order to add this feature as well. Learn more about job output logs in the documentation Protected Runners SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Protected Runners allow you to protect your sensitive information, for example deployment credentials, by allowing only jobs running on protected branches to access them. Read more on the issue Deploy Boards SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Deploy Boards offer a consolidated view of the current health and status of each CI/CD environment running on Kubernetes. The status of each pod of your latest deployment is displayed seamlessly within GitLab without the need to access Kubernetes. Learn more about Deploy Boards Timed and manual incremental rollout deployments SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab can allow you to deploy a new version of your app on Kubernetes starting with just a few pods, and then increase the percentage if everything is working fine. This can be configured to proceed per a schedule or to pause for input to proceed. Learn more about configuring incremental rollout deployments Canary Deployments SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab Premium can monitor your Canary Deployments when deploying your applications with Kubernetes. Canary Deployments can be configured directly through .gitlab-ci.yml, the API, or from the UI of the Deploy Boards. Learn more about configuring Canary Deployments Pipelines security SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE The ability of running CI/CD pipelines on protected branches is checked against a set of security rules that defines if you’re allowed or not. It includes creating new pipelines, retrying jobs, and perform manual actions. Learn more about pipeline security Include external files in CI/CD pipeline definition SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE You can include external files in your pipeline definition file, using them as templates to reuse snippets for common jobs. Learn more about including external files Step folding for CI/CD logs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Collapse the job log output for each command. Documentation CI/CD for external repo SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Connect your projects hosted on external services (like GitHub or Bitbucket) and leverage the power of GitLab CI/CD pipelines to build, test, and deploy your applications easily. Learn more about CI/CD for external repositories CI/CD for GitHub SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Connect your projects hosted on GitHub and leverage the power of GitLab CI/CD pipelines to build, test, and deploy your applications easily. Learn more about CI/CD for GitHub Interactive Web Terminals SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Interactive web terminals allow you to connect to a running or completed Kubernetes, Docker, or Shell runner job and manually run commands to better understand what’s happening in the system. Learn more about Interactive Web Terminals Explicit support for monorepos SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE The ability to execute jobs only/except when there are changes for a given path or file support monorepos where many microservices are contained in a single repo. Learn more about only/except CI/CD execution Pipelines for Merge Requests SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Specify when you want jobs to run only when they are in a pipeline associated with a Merge Request. Make your pipelines more efficient by running only the necessary jobs for Merge Requests. Learn more about Pipelines for Merge Requests Pipelines for Merged Results SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Keep master green. A special pipeline runs on the results of merged code before merging into master to detect changes that may be green on a branch but will fail master when merged. Learn more about Pipelines for Merged Results Merge Trains SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Reduce pipeline queueing and waiting time with merge trains which allows parallel pipeline execution, with each pipeline building off the merge result of the previous one. Learn more about Merge Trains Run pipelines in the parent project for MRs from forks SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE A member of the parent project with appropriate permissions can run pipelines from a forked MR using the parent project’s pipeline configuration and runners. This adds another layer of security to verify that there’s no malicious activity in the forked MR that could affect the parent project. Learn more about Forked MR Pipelines Trigger pipeline on any event in code repository SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Enables pipelines/workflows to be started based on when any defined event is executed in the code repository. For example, could run a workflow to send a welcome email on adding a new member to a repository or project. Docs on GitLab triggerable events Multiple trigger types Supports 21 event triggers Community powered workflows (configuration is code so are shareable) SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab pipeline (workflows) are defined as yml in repos and can be shared just like actions. Any platform, any language, and cloud SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Can run on any OS platform, for any language, and on any cloud provider Auto suggest pipelines to start with based on code language SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Through language detection, auto suggest pipeline templates to run to help users quickly get a pipeline running. Auto Devops runs a pipeline, not just suggest one Advanced CI/CD configuration linter SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE The CI linter provide warnings and error messages when validating your .gitlab-ci.yml file, helping to get up and running quickly with GitLab pipelines. Learn more about the CI YAML linter Comes with many pre-defined pipelines SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Offers many pre-defined pipelines that capture best practice and make it easy for a user to get started with each project for common languages, platforms, and configurations. Connects the diff tools & services used during the SDLC SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Can be used as a central glue to orchestrate, and connect data and outputs from your many different tools & services. GitLab Build Cloud Runners for Linux SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab SaaS-hosted runners for Linux run your CI job in its own virtual machine using GitLab Runner Docker executor. Learn how to use the GitLab Build Cloud Runners for Linux GitLab Build Cloud Runners for Windows (Beta) SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab SaaS-hosted runners for Windows run your CI job in its own virtual machine directly on ephemeral virtual machines. Learn how to use the GitLab Build Cloud Runners for Windows GitLab Build Cloud Runners for macOS (Beta) SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE GitLab SaaS-hosted runners for macOS enable you to directly run your CI/CD jobs for the Apple ecosystem on ephemeral virtual machines. Learn how to use the GitLab Build Cloud Runners for macOS Pipeline status visible in pull/merge request SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Status and results of pipeline runs are viewable at least in summary from the merge/pull request that they are part of. Live streaming of logs from running pipeline SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Ability to see live job logs (while the pipeline is running). Search across all job logs SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Search across all or more than one job log at once. Enables more efficient search for errors and other content of interest while troubleshooting or reviewing job output. browser search within the log at a time View raw logs in plaintext SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Ability to get the plain text of a log, no mark up, to be able to share it or use it externally. Multiple pipelines per repo SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Ability to define multiple pipelines per code repository to enable either different processes to be run at different times, and/or to enable monorepos where there are multiple applications within one repo which need to be built and handled differently per application. Read more about child/parent pipelines Reference actions/jobs in another repo SaaS FREE PREMIUM ULTIMATE Self-Managed FREE PREMIUM ULTIMATE Ability to have pipelines/workflows reference and use actions/jobs from a repo different from the one it is being run from, without needing any installation. Twitter Facebook YouTube LinkedIn Why GitLab? Product Solutions Services DevOps tools Is it any good? Releases Pricing Get started Resources All resources All-Remote Blog Newsletter Events Webcasts Topics Training Docs Developer Portal Install Community Customers Contribute Community Programs Direction Technology Partners Channel Partners Open Source Partners GitLab for Open Source GitLab for Education GitLab for Startups Shop Community Forum Support Get help Contact Sales Contact Support Support options Status Customers Portal Company About What is GitLab? Jobs Culture Leadership Team Press Investor Relations Analysts Handbook Security Contact Terms Privacy Cookie Preferences Trademark Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license View page source — Edit in Web IDE — please contribute. © 2021 GitLab B.V. This website uses cookies We use cookies to make our websites and services operate correctly, to understand how visitors engage with us and to improve our product and marketing efforts. See our cookie policy for more information.Cookie Policy Cookies Settings Accept All Cookies