【アースリー】
Earthly とは?
💡 環境差異という魔物を封じ込める、コンテナ製のビルド装置
📌 このページのポイント
- ビルド手順を`Earthfile`に`+ターゲット名`形式で記述する
- 各ステップはコンテナ内で実行されるため、環境差異が起きにくい
- ビルドキャッシュを活用して再実行を高速化できる
- GitHub ActionsなどのCIと連携しやすいように設計されている
Earthlyって名前のツール、何をするものなの?
DockerfileとMakefileを合体させたようなビルド自動化ツールだよ。`Earthfile`というファイルに`+build`や`+test`というターゲットを書いていくんだ。
Makefileみたいなものなんだね!でも何が違うの?
それは嬉しいね!どんなふうに書くの?
ビルドが遅い問題はどうなの?
GitHub ActionsとかのCIとは一緒に使えるの?
もちろん。CIのYAMLから`earthly +test`というコマンドを呼び出すだけでいいんだよ。ビルドロジックをEarthfileに集約できるから、CIの設定がシンプルになるね。
まとめ:ざっくりこれだけ覚えればOK!
「Earthly」って出てきたら「コンテナで再現性を保証するビルドツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Earthly」 = (地球上のどこでも同じ)再現可能なビルド
💬 「地球上のどこでも同じビルドを」という思想から名付けられているよ。コンテナを使うから環境差異が起きにくいんだよ。