REPRODUCIBLE BUILDS FOR INHABITANTS OF PLANET EARTH
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.
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
Eliminates complex project setup, which allows anyone to run your test suite with ease. Earthly takes care of the other dependencies which 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.
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.
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
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
No spam. Promise.
An error occurred.