This folder contains a series of examples to help you familiarize yourself with Earthly.
If you are new to Earthly, you may find the Basics tutorial helpful.
Please note that these examples, although similar, are distinct from the ones used in the tutorial.
- clojure
- cobol
- c
- cpp
- dotnet
- elixir
- go
- java
- js
- next-js-netlify
- python
- ruby
- ruby-on-rails
- rust
- scala
- typescript-node
- integration-test - shows how
WITH DOCKER
anddocker-compose
can be used to start up services and then run an integration test suite. - monorepo - shows how multiple sub-projects can be co-located in a single repository and how the build can be fragmented across these.
- multirepo - shows how artifacts from multiple repositories can be referenced in a single build. See also the
grpc
example for a more extensive use-case.
- import - shows how to use the
IMPORT
command to alias Earthfile references. - cutoff-optimization - shows that if an intermediate artifact does not change, then the rest of the build will use the cache, even if the source has changed.
- multiplatform - shows how Earthly can execute builds and create images for multiple platforms, using QEMU emulation.
- multiplatform-cross-compile - shows has through the use of cross-compilation, you can create images for multiple platforms, without using QEMU emulation.
- grpc - shows how to use Earthly to compile a protobuf grpc definition into protobuf code for both a Go-based server, and a python-based client, in a multirepo setup.
- terraform - shows how Terraform could be used from Earthly.