If Dockerfile and Makefile Had a Baby... Earthly and Earthfile
Ғылым және технология
Explore the combination of the simplicity of Dockerfile and the task execution capabilities of Makefile provided by Earthly and Earthfile. We delve into Earthfile's Dockerfile syntax-conscious tool designed to simplify and accelerate your build process and task execution to build and push images, compile binaries, sign images, run tests, or execute any other build type or task execution.
#Earthly #Earthfile #Dockerfile #makefile
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Sponsor: daily.dev
🔗 daily.dev 🔗
Personalized news feeds, dev communities, and search.
▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
Consider joining the channel: / devopstoolkit
▬▬▬▬▬▬ 🔗 Additional Info 🔗 ▬▬▬▬▬▬
➡ Transcript and commands: devopstoolkit.live/ci-cd/if-d...
🔗 Earthly: earthly.dev
🎬 Using Docker Multi-Stage Builds: • Using Docker Multi-Sta...
🎬 Signing and Verifying Container Images With Sigstore Cosign and Kyverno: • Signing and Verifying ...
🎬 Nix for Everyone: Unleash Devbox for Simplified Development: • Nix for Everyone: Unle...
🎬 Say Goodbye to Makefile - Use Taskfile to Manage Tasks in CI/CD Pipelines and Locally: • Say Goodbye to Makefil...
🎬 From Makefile to Justfile (or Taskfile): Recipe Runner Replacement: • From Makefile to Justf...
▬▬▬▬▬▬ 💰 Sponsorships 💰 ▬▬▬▬▬▬
If you are interested in sponsoring this channel, please use calendar.app.google/Q9eaDUHN8... to book a timeslot that suits you, and we'll go over the details. Or feel free to contact me over Twitter or LinkedIn (see below).
▬▬▬▬▬▬ 👋 Contact me 👋 ▬▬▬▬▬▬
➡ Twitter: / vfarcic
➡ LinkedIn: / viktorfarcic
▬▬▬▬▬▬ 🚀 Other Channels 🚀 ▬▬▬▬▬▬
🎤 Podcast: www.devopsparadox.com/
💬 Live streams: / devopsparadox
▬▬▬▬▬▬ ⏱ Timecodes ⏱ ▬▬▬▬▬▬
00:00 Makefile and Dockerfile Had a Baby
01:40 daily.dev (sponsor)
02:26 Makefile and Dockerfile Had a Baby (cont.)
02:50 Earthly and Earthfile in Action
12:11 Earthly and Earthfile Pros and Cons
Пікірлер: 29
Does it make sense to combine Dockerfile and Makefile into a single format?
@danielhd6719
13 күн бұрын
no, but ppl will do anything even reinventing the wheel 5 times over to get money
Thank you very much for the great video! 🥳 It looks very similar to Dagger in addressing the "works on my machine" problem. They also provide an explanation in the FAQ on how it differs from Dagger.
I would prefer a builder with a more DRY definition file format
Thanks for another great video!🎉 It looks interesting but as far as I can see it still suffers from some issues. Personally I still prefer makefile or justfile to this approach, it sticks too much to container runtimes even though I agree that having a single standard for everything is attractive
Lol "I'm assuming your didn't choose the easier path of doctor or lawyer... let's look at [devops] earthfile" hilarious.
I've been trying to do something with docker to keep the pipeline stages consistent between local dev and pipeline i.e. Build, Sonar Scan, Trivy scan, etc but it gets very complex and Docker files are obviously made for this. my next option would be nix but most of our developers use windows so unless i can convince them all to use WSL which won't happen it out out of the question sadly This might be the next best solution to define everything and be able to have devs run the same processes locally for building / testing the application and have it in the same context as what the pipeline would run it in.
@DevOpsToolkit
17 күн бұрын
It's sad that they don't want to use WSL. When it was introduced I thought that it is the best thing that happened to windows in a long while. I was even tempted to switch one of my machines to windows only because of WSL.
I have been using Earthly on daily basis for the last 2 years and I think on the Pros part you missed some of the key benefits. Due to fact that Earthly is based on Docker/BuildKit you can provide developers with a local mechanism to run a full complex pipeline from their laptops . By leveraging the isolation power of N-layers of DinD you can run N test projects in parallel in N different containers without having any issues! Or even run N docker-compose in parallel!
thanks, Interesting tool so far! however, do you think tooling such as buildpack or similar that use best practices are more suitable nowadays rather than creating custom images from scratch using Dockerfile method? I know that this tool do more stuff that container images, but the goal is basically create images in automate way.
@DevOpsToolkit
16 күн бұрын
The goal is to combine dockerfile (building images) abd makefile (executing tasks).
Could it be with taskfile instead of make 😢
Thank you. Interesting video. Maybe I missed something, but I miss a library functionality imn Earthly or Earthfile. I like to store some steps central an reuse them in each project. If I have many, many projects and many pipelines, some stuff repeats in each pipeline. For example I like to send an email on each release. If I want to adjust the recipient list, then I don't want to adjust this in every project or pipeline. Ok, maybe I can store the list in an env var. But I think you got the point. Same problem, when I update some base-images or a command I use in each pipeline.
@DevOpsToolkit
18 күн бұрын
I tend to solve that by having shell scripts and executing them from whichever tool i use to execute tasks (including earth file). Shell script work everywhere.
Interesting
I have been trying to implement a common pipeline based on multistage dockerfile and kaniko executor to not only build but also calling several other targets, for testing, static analysis, etc. I'll have a look at this project but to be fair i don't see the need to complicate what is already so simple with multistage dockerfile. Could you talk a bit about pros and cons of multistage dockerfile beside it origins?
@DevOpsToolkit
18 күн бұрын
It all depends on what you're trying to use multistage builds for. If it's to build a binary before putting it into the final image, it works great. Unit tests... Good. But, when it comes to other tasks like functional test or most of the other tasks we typically run in pipelines, it falls short or is not even possible. Simply put, there is a limit to what can be done in an image or even in a container.
@FernandoAlmeida1973
18 күн бұрын
@@DevOpsToolkit Thanks a lot for your time and response. Very good work.
Earthly seems cool, but I don't understand at what point and for what exactly I would have to pay. Is it all free? Is the free offering useful by itself? Can I host my own cache for it? The second annoyance is that I got used to podman, and earthly wants podman from root.
@DevOpsToolkit
19 күн бұрын
That part is indeed confusing. Earthly itself has Mozilla license so you can use it without paying anything to anyone. Cloud license is clear. You'd be paying for the service. What is beyond my understanding is the self-hosted license. I have no idea why would anyone pay for it. There must be something there, but I don't know what that is.
Can I push an Image with Earthly without installing Docker?
@DevOpsToolkit
19 күн бұрын
You either need to have Docker or to use one of the other tools to build and push images like, for example, Kaniko.
@FernandoAlmeida1973
18 күн бұрын
@@DevOpsToolkit I could not find information about using Kaniko :S
@bkahlerventer
17 күн бұрын
There is also buildah from podman that needs no daemon running to build, tag and push containers to a registry.
Typo in the thumbnail?
@DevOpsToolkit
19 күн бұрын
True (and too late to change).
@andherium
19 күн бұрын
@@DevOpsToolkitcan still change it
@DevOpsToolkit
19 күн бұрын
Already sent to the guy that does my thumbnail. He might be off for the day so probably tomorrow...
first