Earthly

Earthly

Build anything via containers

7 followers

Earthly builds are self-contained, isolated and reproducible. It's like Makefile and Dockerfile had a baby. Replace the collection of bash scripts, make files and docker files in your project with a simple Earthfile.
Earthly gallery image
Earthly gallery image
Earthly gallery image
Launch tags:LinuxWindowsMac
Launch Team
Wispr Flow: Dictation That Works Everywhere
Wispr Flow: Dictation That Works Everywhere
Stop typing. Start speaking. 4x faster.
Promoted

What do you think? …

Vlad A. Ionescu
Hi 👋 Product Hunt! I am Vlad, the maker of Earthly, and I couldn't be more excited to be sharing this project with you. 💡What is it? Earthly is an open source build automation tool. It allows you to execute all your builds in containers. This makes them self-contained, reproducible, portable and parallel. You can use Earthly to create Docker images and artifacts (e.g. binaries, packages, arbitrary files). 🤔 Why? We live in an era of continuous delivery, containers and open-source. And yet, our most popular CI/CD platform was started 15 years ago when the industry looked very different. CI systems have not changed much since — they are still largely glorified bash scripts, and the limitations are starting to show their age. Tech giants have innovated and have open-sourced tools like Bazel and Pants. They bring modern features, like reproducibility, determinism, the ability to scale in a monorepo and the ability to use cloud-based cache and parallelization. Although these systems are probably some of the most advanced build automation tools the world has seen, they come at a significant cost: the build config is not compatible with any of the popular open-source tooling that the language communities have gotten so used to. It’s like they come from a parallel universe. With the purpose of bringing these modern capabilities to people out in the real world,we are announcing the release of Earthly: a build automation tool for the container era. Earthly is not meant to replace your existing open-source tooling, but rather to leverage and augment it. Earthly runs all build targets containerized: they get container isolation and layer caching No sharing means that you get parallelization for free. But most importantly, all builds are completely reproducible. If you want to see what it's all about, then go check out the product. Leave some feedback, and if you would like to, you're welcome to DM me on Twitter or leave a comment below. 👇
Thomas Radman
Excellent, looks like a Jelastic for Development noobs. ;) ... and I love Jelastic!
Adam Gordon Bell
@tomradman I just googled Jelastic - it looks interesting
Bona
Currently using Earthly for consistency of protobuf generation between multiple devs. We also check-in the generated go code so that we don't have to do this part in CI. Because we use Earthly to run protoc and grpc bindings, they're always the same version so we don't get spurious diffs between devs. Previously we would have a Makefile for the protoc commands together with locally installed protoc bins. Earthly makes this interaction very nice now.
Vlad A. Ionescu
Guillaume Hain
I finally gave a try and I love it now I fully understood what that beauty does! Earthly allowed me to get ride of my Dockerfile, Dockerfile.production and Dockerfile.ci and reduced a lot the complexity from them. Here is my migration commit : https://gitlab.com/zedtux/brewfo.... I'm working at using it on Gitlab CI now. It's really a time and life saver! Thank you so much for having build this awesome tool that I'm gonna push hard on all the projects I'm working on! P.S: One thing I'm now missing is a Sublime Text syntax highlighting plugin even do the Dockerfile syntax one is already doing a lot :)
Vlad A. Ionescu
@zedtux That looks great! 🎉 I've opened an issue for Sublime syntax highlighting: https://github.com/earthly/earth..., in case someone wants to grab it to contribute it.
Guillaume Hain
@vladaionescu Thank you, I'll follow it for sure!
Adam Gordon Bell
This area, build tools, CI/CD, and even developer tools in general, is such a neglected area. That is what is exciting to me about earthly.