Skip to main content

Earthly

Earthly is a containerized build automation system (build and Continuous Integration (CI) automation) that executes reproducible builds in parallel using a declarative syntax and a Docker-based execution model.

  • Declarative build scripting language Earthfile for defining repeatable build steps (build automation).
  • Docker-based, containerized execution for consistent build environments across machines and CI systems (containerized builds).
  • Parallel and incremental builds that reuse cached artifacts to reduce build and test execution time (build optimization).
  • Integration with existing CI platforms while centralizing build logic in repository code (CI/CD integration).
  • Remote build execution and caching via Earthly Cloud for shared team workflows and build distribution (remote execution).

More About Earthly

Earthly is a build automation and CI tool (build and CI automation) that uses containerization to make software builds reproducible across developer laptops and CI environments. It is designed around the concept of codifying build logic in an Earthfile stored in the code repository, which defines how to compile, test, package, and ship applications in a deterministic way.

The core of Earthly is its declarative Earthfile language (build scripting), which borrows concepts from Dockerfile syntax and general build systems. An Earthfile describes targets, their dependencies, and the commands to run, using container images as the execution environment. Each target runs inside a container, which standardizes tooling, runtimes, and system dependencies, and helps remove variation between local and CI builds.

Earthly executes builds in containers using Docker or compatible container runtimes (container orchestration for builds). It uses a layered, cacheable build graph that allows reuse of intermediate artifacts across runs and across different targets. This caching model supports incremental builds, so only the parts of the dependency graph affected by code changes are recomputed. Earthly can run multiple build steps in parallel when dependencies allow, which can reduce end-to-end build durations for complex projects.

For enterprise use, Earthly integrates with existing Continuous Integration and Continuous Deployment (CI/CD) systems (CI/CD integration) rather than replacing them. CI pipelines typically invoke Earthly as a step, while Earthly handles the detailed build graph, caching, and parallelization. This pattern allows organizations to keep their existing CI platform while centralizing build logic in version-controlled Earthfiles. Teams can run the same Earthly targets locally, which aligns developer workflows with CI behavior.

Earthly Cloud extends the local tool with remote build execution and caching (remote execution and artifact caching). Builds can be offloaded to remote infrastructure, and cache layers can be shared across team members and CI jobs, which is particularly relevant for large monorepos or polyglot codebases. This supports collaboration around build artifacts while keeping deterministic behavior, since the same Earthfile definitions govern local and remote runs.

From a systems perspective, Earthly operates in the domain of build orchestration, developer productivity tooling, and CI optimization (developer tooling). It interacts with container registries, source repositories, and CI runners, and can be incorporated into platform engineering toolchains. In an enterprise taxonomy, Earthly fits under build and test automation, container-based build pipelines, and CI/CD workflow tooling, with a focus on reproducible, cache-efficient, and parallelized builds using a container-native execution model.