REPRODUCIBLE BUILDS FOR INHABITANTS OF PLANET EARTH

Getting started and installation instructions are available on the GitHub page

Earthly is a build automation system for the post-container era.

It builds upon technologies like Docker and BuildKit to deliver builds that are self-sufficient, reproducible, portable and parallel. You can use Earthly to create Docker images, output artifacts or to run tests. Earthly is meant not to replace build systems, but rather to act as the glue layer between them.

Run Earthly on your laptop, in your current CI, or across a cluster via Earthly Cloud Build.

REPRODUCE
CI FAILURES
WITH EASE

No more git commit -m "try again" to fix that CI issue. Earthly uses containers to isolate builds and make them reproducible on your laptop. A single command can execute the same build locally for debugging purposes.

BUILDS THAT RUN THE SAME FOR EVERYONE

Regardless of the operating system your colleagues use, your builds will run the same on any platform, as long as it can run Docker.

FROM ZERO TO WORKING BUILD IN MINUTES

Eliminate complex project setup, which allows anyone to run your test suite with ease. Earthly builds are self-contained, requiring no additional dependencies or programming language stacks to be installed. This promotes cross-team collaboration and quick onboarding.

REUSABILITY THAT EVERYONE UNDERSTANDS

Earthly comes with the ability to reference targets from projects that may exist in different directories, or even different repositories. Git hash awareness allows Earthly to cache results effectively. 

 

KEY FEATURES

ALL BUILDS ARE CONTAINERIZED

Earthly is built on top of modern container technologies. The same way Docker has paved the way towards development-production reproducibility, Earthly enables development-CI reproducibility.

PARALLELIZATION THAT JUST WORKS

In Earthly, nothing is shared between targets other than clearly declared dependencies. This allows Earthly to automatically decide which parts of your build to run in parallel and which parts to run sequentially. For you, as a user, this means that you don’t have to worry about race conditions or dead locks. You just define the build and get parallelization for free.

SECRETS SUPPORT BUILT-IN

Secrets have first-class support in Earthly. They are not cached, written to disk or stored with a resulting Docker image. Secrets can be used as temporary files or as environment variables during builds.

PROJECT INTERDEPENDENCIES

Take advantage of reusability that just works. Reference builds, images or artifacts across repositories and import them within your own builds. The system is aware of the Git hash and is able to make effective use of the cache in complex setups.

MONO REPOS OR POLY REPOS

No matter if your team is a fan of mono repos or of poly repos, Earthly supports both. Create vast build hierarchies to control sprawling setups that span projects and subprojects across directories and repositories.

PROGRAMMING LANGUAGE AGNOSTIC

Earthly is not specific to any programming language. In fact, a key design decision of Earthly is that it allows you to use the language specific tooling that you are already familiar with: Maven, Gradle, NPM, PyPI or any other tool you can imagine. Earthly acts as the glue between builds.

 
Execute your local builds using the power of the cloud
  • Trigger from the terminal, just like a regular build system

  • Unlimited parallelism

  • Reuse cache between developers

  • Automatically infer which integration tests need to be re-run

  • Automatically infer what to build in the cloud and what to build locally to optimize for speed

  • Hook up to GitHub to use as a CI

Earthly Cloud Build
(coming soon)

No spam. Promise.

 
LINKS
ABOUT

Earthly Technologies, Inc.

support@earthly.dev

We're hiring!

SOCIAL
  • Earthly on GitHub
  • Twitter

Made with 🖤 on Planet Earth