Earthly is a build automation tool from the same era as your code. It allows you to execute all your builds in containers. This makes them self-contained, repeatable, portable and parallel. You can use Earthly to create Docker images and artifacts (e.g. binaries, packages, arbitrary files).

Earthly can run on top of popular CI systems (like Jenkins, CircleCI, GitHub Actions, AWS CodeBuild). It is typically the layer between language-specific tooling (like maven, gradle, npm, pip, go build) and the CI build spec.

Earthly has a number of key features. It has a familiar syntax (it's like Dockerfile and Makefile had a baby). Everything runs on containers, so your builds run the same on your laptop as they run in CI or on your colleague's laptop. Strong isolation also gives you easy to use parallelism, with no strings attached. You can also import dependencies from other directories or other repositories with ease, making Earthly great for large mono-repo builds that span a vast directory hierarchy; but also for multi-repo setups where builds might depend on each other across repositories.

One of the key principles of Earthly is that the best build tooling of a specific language is built by the community of that language itself. Earthly does not intend to replace that tooling, but rather to leverage and augment it.


See installation instructions.

For a full list of installation options see the alternative installation page.

Getting started

If you are new to Earthly, check out the Basics page, to get started.

A high-level overview is available on the Earthly GitHub page.

Last updated