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 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.
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.
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.
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.
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.
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.
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.
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.
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.
Harness provides templates that can be used to standardize your pipelines. These templates can help with rapid debugging and error resolution.
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.
Enable or disable pipelines easily.
Run, cancel or re-rerun a pipeline. Or trigger it manually.
Review deployments by approving or rejecting a job. Approve or reject jobs awaiting review.
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.
Add and reference custom variables in Pipelines and Stages. They're available across the Pipeline. Propagate and override their values in later stages.
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 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.
Build and deploy apps for Mac, Linux, Windows. Run on VMs, containers for any architecture, including X86, x64, ARM, M1.
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 cloud platforms including AWS, GCP, Azure, Digital Ocean, on-prem, or Macstadium.
Harness supports integrations with Azure DevOps repo, Bitbucket Cloud, BitBucket Server, GitHub, and GitLab repositories, so it’s easy to kick off builds.
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
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 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.
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.
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.
Track status and monitor duration to make better decisions.
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.
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.
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.
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.
Harness provides the ability for their administrators to control what systems Harness users can access within their environments.
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.
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.
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.
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.
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.
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:
Harness CI continues to be available as an on-premise offering, We also provide on-premise support with air-gapped networks.
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.
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.