Beyond Docker with Earthly
Blog post from Semaphore
Earthly is a Docker-based build tool designed to improve the user experience by bridging the gap between Docker and Make, providing a more streamlined and repeatable build process. Earthly does not replace language-specific tools, but rather integrates with them, leveraging Docker containers for consistency and parallel execution. It introduces a syntax that combines elements of Make and Dockerfiles, allowing for the creation of artifacts beyond container images. While Earthly offers language-agnostic capabilities and low-maintenance configuration, it does not fully replace Makefile or Docker Compose, and it can be slower than native Docker due to its design for repeatability. Earthly supports advanced features like testing and continuous integration pipelines, enabling developers to build, test, and push Docker images to remote repositories efficiently. Despite some limitations, such as confusing error messages and slow multiplatform builds, Earthly offers a promising approach to building software with Docker, with ongoing development addressing its current challenges.