Which build infrastructure is right for me
You can run builds on Harness-hosted machines or your own infrastructure.
Harness-hosted builds (Harness Cloud)
With Harness Cloud, your builds run in isolation on Harness-hosted machines. You can run builds at scale on Linux, Windows, and macOS machines that are preinstalled with software commonly used in CI pipelines.
Harness hosts, maintains, and upgrades these machines so that you can focus on developing software instead of maintaining build farms.
Harness Cloud is available with all CI plans. For more information, go to Use Harness Cloud build infrastructure.
Self-hosted builds
Self-hosted build infrastructure options include local machines, Kubernetes clusters, and VMs from Cloud providers, such as AWS.
Local runners
With the local runner, which is also known as the Docker runner, you can run builds on a local machine. You can execute build steps in Docker containers or directly on the host machine.
This option is recommended for small, limited-scale builds, such as one-off builds on your local machine.
Self-hosted local build infrastructure is available with all CI plans. To learn more, go to Set up a local runner build infrastructure.
Kubernetes clusters
Executing builds in a Kubernetes cluster is useful when you want to run ephemeral builds-at-scale in your own infrastructure.
When running builds in a Kubernetes cluster, each CI stage executes in a pod, and the stage's steps share the pod's resources.
To learn more about using a Kubernetes cluster as build infrastructure, go to Set up a Kubernetes cluster build infrastructure.
Cloud provider virtual machines
Your build infrastructure can use VMs from a Cloud provider, including AWS, Microsoft Azure, GCP, and Anka (for macOS build farms).
To learn more about VM build infrastructures, go to Set up VM build infrastructures.
Supported operating systems and architectures
The following table shows the supported operating systems and architectures for each build infrastructure option.
Operating system | Architecture | Harness Cloud | Self-hosted local runner | Self-hosted Kubernetes cluster | Self-hosted Cloud provider VMs |
---|---|---|---|---|---|
Linux | amd64 | ✅ Supported | ✅ Supported | ✅ Supported | ✅ Supported |
Linux | arm64 | ✅ Supported | ✅ Supported | ✅ Supported | ✅ Supported |
macOS | arm64 (M1) | ✅ Supported | ✅ Supported | ❌ Not supported | ✅ Supported |
Windows | amd64 | ✅ Supported | ✅ Supported | ✅ Supported | ✅ Supported |
Windows | arm64 | ❌ Not supported | ❌ Not supported | ❌ Not supported | ❌ Not supported |
Feature compatibility matrix
Some Harness CI features are not compatible with all build infrastructures or platforms. New features are rolled out for Harness Cloud first before being enabled for other build infrastructures.
Feature | Harness Cloud | Self-hosted local runner | Self-hosted Kubernetes cluster | Self-hosted Cloud provider VMs |
---|---|---|---|---|
Test Intelligence | ✅ Supported | ✅ Supported | ✅ Supported | ✅ Supported |
Test splitting | ✅ Supported | ✅ Supported | ✅ Supported | ✅ Supported |
Cache Intelligence |
| ❌ Not supported | ❌ Not supported | ❌ Not supported |
Cache to S3/GCS | ✅ Supported | ✅ Supported | ✅ Supported | ✅ Supported |
Multilayer caching | ✅ Supported | ✅ Supported | ✅ Supported | ✅ Supported |
Docker layer caching in Build and Push steps | ✅ Supported | ❌ Not supported | ✅ Supported | ❌ Not supported |
Delegate selectors | 🔸 Not applicable | ✅ Supported - Pipeline and stage delegate selectors | ✅ Supported - Pipeline, stage, and connector delegate selectors | ❌ Not supported |
Harness Secret Manager | ✅ Supported | ✅ Supported | ✅ Supported | ✅ Supported |
Bring-your-own secret manager | ❌ Not supported | ✅ Supported | ✅ Supported | |
GitHub App support | ❌ Not supported | ✅ Supported | ✅ Supported | |
STO steps/stages | ✅ Supported - Linux | ❌ Not supported | ✅ Supported |
|
Plugins | ✅ Supported - Run on containers or host machine |
|
|
|
GitHub Actions | ✅ Supported - GitHub Actions plugin step | ✅ Supported - Drone plugin |