Continuous Integration Features

Enabling Speed

Test Intelligence

Test Intelligence is a proprietary technology that speeds up test cycles by running only the tests required to confirm the quality of the code changes that triggered a build. It then ranks them in the best possible order to increase the rate of fault detection. It’s easy to see the code changes and gaps in the test plan. Test Intelligence also identifies negative trends and provides actionable insights to improve quality. Once the appropriate tests are identified, Harness CI runs split tests and runs them concurrently. It’s possible to reduce build cycle times up to 90% without compromising application quality. 

Caching

Caching ensures faster job execution by reusing data from expensive fetch operations in previous jobs. Use the Save Cache and Restore Cache steps to save a cache to a cloud storage bucket and restore it later. See Cache CI Data.

Cache Intelligence

This proprietary technology reduces pipeline execution time by automatically caching well-known directories for Java and Node.js with more languages to come. Manage and flush the cache in the Harness user interface. 

Built off of Drone CI

Harness CI is powered by Drone, the most loved open source continuous integration solution in the market. Drone has a vibrant and active open source community with over 100 million pulls on DockerHub, more than 50,000 active users, and over 250 contributors. Drone has strong community support with over 25,000 stars on GitHub.

Remote Docker Layer Caching

Harness enables remote Docker Layer Caching where each Docker layer is uploaded as an image to a Docker repo you identify. If the same layer is used in subsequent builds, Harness downloads the layer from the Docker repo. This is different from other CI vendors that are limited to local caching and persistent volumes.
Specify the same Docker repo for multiple Build and Push steps, enabling them to share the same remote cache. Remote Docker Layer Caching can dramatically improve build time by sharing layers across Pipelines, Stages, and steps.

Onboard to CI Wizard in Minutes

Onboarding new or remote developers can be a challenge. With the new Harness CI Wizard,  developers can be fully onboarded within minutes and create a working build.

CI Pipeline Features 

Visual Pipeline Builder with Built-in YAML Code Editor

The Pipeline Studio includes visual and YAML editors. The visual editor provides all of the same functionality as the YAML editor. The YAML editor validates users’ YAML before allowing it to be saved. By providing both visual and YAML options, Harness makes it easy for all levels of developers. 

Smart Pipeline Triggers (With Customizable Webhook-Based Execution)

Triggers are used to initiate the execution of pipelines. Within Harness, pipelines can be triggered using Git event payload conditions or Git events on a new artifact or on a new Helm Chart. For all Git providers supported by Harness, the webhook is created in the repo automatically. There’s no need to copy it and add it to repo webhooks.

Pipeline Notifications

Send pipeline event notifications using email and popular communication and incident management platforms, so teams are always informed of relevant pipeline events. Event notifications are set up using notification rules in your pipeline. Select the types of events that will generate notifications, and then select how to send them. When those events occur, Harness sends event information to those channels and recipients.

Pipeline Scheduling

Harness provides a great deal of flexibility for pipeline scheduling. Schedule pipelines using Cron-based triggers, so they run regularly on a day and time, such as Mondays at 9am. Users can also schedule a pipeline to run once on a specific day and time, such as on May 4, 2022 at 10pm.

Templates to Standardize Pipelines

Harness provides templates that can be used to standardize your pipelines. These templates can help with rapid debugging and error resolution. 

Triggers

Run Pipelines manually or use triggers to initiate their execution. Or trigger a Pipeline based on Git commits and pull requests, schedules, or other factors.

Pipeline Management

Enable or disable pipelines easily. 

Execution Management

Run, cancel or re-rerun a pipeline. Or trigger it manually.

Approvals

Review deployments by approving or rejecting a job. Approve or reject jobs awaiting review.

Background Steps

Background steps are useful for running services that need to run for the entire lifetime of a Build stage. For example, set up pipelines to run multiple background services that implement a local, multi-service app.

Variables

Add and reference custom variables in Pipelines and Stages. They're available across the Pipeline. Propagate and override their values in later stages.

Service Dependencies

A Service Dependency enables multiple Stages to access the same service. For example, a Pipeline might include unit tests that require a running Redis server. Service Dependencies run in an isolated container, so there’s no need to handle dependencies. 

Plugins

Plugins are Docker containers that perform predefined tasks and are configured as Steps in your Stage. Use Plugins to deploy code, publish artifacts, send notifications, and more.

The Drone community maintains an extensive library of plugins for specific CI workflows. Customize and extend build processes using existing plugins or custom plugins written in-house.

See Plugin Step Settings and Run a Drone Plugin in CI.

Deployment Platforms 

Run Anywhere

Build and deploy apps for Mac, Linux, Windows. Run on VMs, containers for any architecture, including X86, x64, ARM, M1. 

Use Any Language

Build, test, and deploy applications in the language of choice. Harness CI supports Node.js, Python, Java, Ruby, PHP, Go, Rust, .NET, and more. 

Deploy to Any Hosting Provider

Deploy to cloud platforms including AWS, GCP, Azure, Digital Ocean, on-prem, or Macstadium. 

Support for Multiple Source Control Managers

Harness supports integrations with Azure DevOps repo, Bitbucket Cloud, BitBucket Server, GitHub, and GitLab repositories, so it’s easy to kick off builds.

Integrations

Harness integrates with DevOps tools across the tech stack to automate building, test, and deploy applications. From infrastructure provisioning, secrets management, portfolio management, and approval workflows, Harness makes it easy to focus on value-add work without additional context switching.

Integrated Approvals with (built-in) Harness UI
Integrated Secrets Management with (built-in) Harness Secrets Manager
Integrated Approvals with Jira
Integrated Approvals with ServiceNow
Integrated Approvals with Slack
Integrated with Drone plugins
Run GitHub Actions in a Harness step
Integrated Approvals with Custom Shell Scripts
Integrated Secrets Management with HashiCorp Vault Secrets Manager
Integrated Secrets Management with CyberArk Secrets Manager
Integrated Secrets Management with AWS KMS Secrets Manager
Integrated Secrets Management with AWS Secrets Manager
Integrated Secrets Management with Azure Key Vault Secrets Manager
Integrated Secrets Management with Google Cloud Secrets Manager
Integrated Secrets Management with Custom Secrets Manager

Comprehensive APIs

Harness provides well-documented REST APIs for automation across our entire platform, including onboarding new teams and projects at scale. Our APIs enable users to automate and manage their end-to-end workflow, and integrate Harness into their existing tooling.

Connectors

Connectors contain the information necessary to integrate and work with third-party tools such as Git providers and artifact repos. For example, a GitHub Connector authenticates with a GitHub account and repo and fetches files as part of a deploy Stage. Harness uses Connectors at Pipeline runtime to authenticate and run operations in external tools.

Administration 

Artifact Repos

Harness CIE offers popular object storage options such as JFrog, Amazon S3, and Google GCS where you can push artifacts. Object storage repos are set up as Pipeline Steps by using the Upload Artifacts step from the Step library.

CI Overview

The CI Overview provides a bird's-eye view of all Builds — successful, failed, aborted, and expired — and the percentage of successful builds for individual codebases. With the Overview, see where builds have failed and drill down into specific builds to troubleshoot and analyze the root causes.

Insights

Track status and monitor duration to make better decisions.

Inputs and Overlays

Harness Input Sets are collections of Runtime Inputs for a Pipeline run. Overlays are groups of Input Sets. Overlays enable users to provide several Input Sets when they run a Pipeline. With Input Sets and Overlays, users can make one Pipeline template and use it for multiple scenarios. Each scenario can be defined in an Input Set or Overlay and simply selected at runtime.

Conditional Executions

Users can set conditions for running Stages and Steps. For example, Execute This Stage Only if Prior Pipeline or Stage Failed. The stage Conditional Execution applies to all steps that don't have their own Conditional Execution. A step's Conditional Execution overrides its stage's Conditional Execution.

Failure Strategies

A failure strategy defines how Stages and Steps handle different failure conditions. The failure strategy contains error conditions that must occur for the strategy to apply, and actions to take when the conditions occur. Failure strategies are a critical pipeline design component that determine what fails a step or stage and what to do when the failure occurs.

Security 

RBAC (Role Based Access Control) - Built in Roles and Custom Roles

Harness provides fine-grained RBAC to enforce separation of duties and control what user groups are granted access to specific resources based on assigned roles. This allows businesses to protect their data and key business processes through company-set rules and roles. Built-in roles are available by default to quickly create the desired permissions at the account, organization, and project level within Harness, as well as the ability to create custom roles for additional flexibility based on business needs that fall outside of the scope provided by default roles.

‍IP Address Whitelist Management

Harness provides the ability for their administrators to control what systems Harness users can access within their environments. 

Secrets Management

Harness includes a built-in Secret Management feature that enables users to store encrypted secrets, such as access keys, and use them in Harness Connectors and Pipelines. Integrated managers include AWS KMS, HashiCorp Vault, Azure Key Vault, Google KMS, and AWS Secrets Manager.

Masking

Harness sanitizes deployment logs and any script outputs to mask text secret values. For text and file secrets, the secrets are stored in the Secrets Manager selected. When a text secret is displayed in a deployment log, Harness substitutes the text secret value with asterisks (*) so that the secret value is never displayed.

Governance 

Policy Based Governance (OPA)

Harness Policy as Code is a centralized policy management and rules service that leverages the Open Policy Agent (OPA) to meet compliance requirements across software delivery and enforce governance policies. Policies are written as declarative code, so they are easy to understand and modify, enabling teams to have autonomy over their processes with oversight and guardrails in place to prevent them from straying from standards.

Pipeline Governance

Harness Pipeline Governance measures the compliance of CI/CD pipelines compared to regulatory and operations standards. As a deployment pipeline is triggered within Harness, the deployment can require approval before releasing to production based on a “score” that indicates how compliant a given pipeline is before approving.  This “score” is made up of individual weighted tags that, together, determine the level of compliance.

Audit Trails

Harness Audit Trails provide the visibility needed to meet organizational governance needs and prepare for external audits. With Harness Audit Trails, users can view and track changes to Harness resources within the Harness account with data stored from up to two years prior. Without this data, developers are forced to manually compile information for audits.

Hosting

Hosted Builds

Now, Harness CI is available as a fully managed cloud service. With Hosted Builds, it’s easy to get started with Harness CI in a couple of minutes, and Harness supports building and deploying any app on Windows, Linux or Mac OS. Hosted Builds offer:

  • SaaS
  • Zero touch Maintenance (Nothing to Install/Upgrade)
  • Automatic Horizontal Scaling & High Availability
  • Automatic Backups & Disaster Recovery
  • SLA guarantee

Harness CI continues to be available as an on-premise offering, We also provide on-premise support with air-gapped networks.

Harness Platform Integrations

Continuous Delivery  

Declarative GitOps and powerful, easy-to-use pipelines, so you can deliver new features faster. Continuous Delivery is powered by AI/ML for automated canary and blue/green deployments, advanced verification, and intelligent rollback. 

Security Testing Orchestration

With Security Testing Orchestration (STO) from Harness, developers run security test before a code artifact is built, providing immediate feedback to developers on any compliance issues. STO supports over 40 application security scanners with more to come.