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

  • @DevOpsToolkit
    @DevOpsToolkit19 күн бұрын

    Does it make sense to combine Dockerfile and Makefile into a single format?

  • @danielhd6719

    @danielhd6719

    13 күн бұрын

    no, but ppl will do anything even reinventing the wheel 5 times over to get money

  • @Wompipomp
    @Wompipomp17 күн бұрын

    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.

  • @bkahlerventer
    @bkahlerventer17 күн бұрын

    I would prefer a builder with a more DRY definition file format

  • @IvanRizzante
    @IvanRizzante18 күн бұрын

    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

  • @patrickjreid
    @patrickjreid16 күн бұрын

    Lol "I'm assuming your didn't choose the easier path of doctor or lawyer... let's look at [devops] earthfile" hilarious.

  • @ChazRagg
    @ChazRagg17 күн бұрын

    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

    @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.

  • @jesusrv2009
    @jesusrv200915 күн бұрын

    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!

  • @javisartdesign
    @javisartdesign16 күн бұрын

    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

    @DevOpsToolkit

    16 күн бұрын

    The goal is to combine dockerfile (building images) abd makefile (executing tasks).

  • @halllo54321
    @halllo5432118 күн бұрын

    Could it be with taskfile instead of make 😢

  • @chrisre2751
    @chrisre275118 күн бұрын

    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

    @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.

  • @iyadomry9801
    @iyadomry980119 күн бұрын

    Interesting

  • @FernandoAlmeida1973
    @FernandoAlmeida197318 күн бұрын

    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

    @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

    @FernandoAlmeida1973

    18 күн бұрын

    @@DevOpsToolkit Thanks a lot for your time and response. Very good work.

  • @clorzz
    @clorzz19 күн бұрын

    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

    @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.

  • @SiCrip09
    @SiCrip0919 күн бұрын

    Can I push an Image with Earthly without installing Docker?

  • @DevOpsToolkit

    @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

    @FernandoAlmeida1973

    18 күн бұрын

    @@DevOpsToolkit I could not find information about using Kaniko :S

  • @bkahlerventer

    @bkahlerventer

    17 күн бұрын

    There is also buildah from podman that needs no daemon running to build, tag and push containers to a registry.

  • @rodoherty1
    @rodoherty119 күн бұрын

    Typo in the thumbnail?

  • @DevOpsToolkit

    @DevOpsToolkit

    19 күн бұрын

    True (and too late to change).

  • @andherium

    @andherium

    19 күн бұрын

    @@DevOpsToolkitcan still change it

  • @DevOpsToolkit

    @DevOpsToolkit

    19 күн бұрын

    Already sent to the guy that does my thumbnail. He might be off for the day so probably tomorrow...

  • @KingAtem1000
    @KingAtem100019 күн бұрын

    first

Келесі