【ティルト】

Tilt とは?

最終更新:
💡 開発環境の起動と更新を、まとめて進める

開発環境のビルド・起動・更新をまとめて扱うツール。Tiltfile、KubernetesやDocker Compose、Live Updateの条件と再ビルドを解説します。

📌 このページのポイント
Tilt:開発中の変更を反映する監視対象のファイルが変わるTiltfileで扱う手順を設定Live Updateに合う変更か?同期対象・再ビルド条件を確認合う再ビルド同期・必要な処理実行中のコンテナへsync / runビルドと反映イメージを作り直す再デプロイ初回は起動に必要なビルドなどを行う更新時間は変更内容と構成によって変わる
コンテナ開発での更新手順の概略です。監視対象でも設定によって更新しない場合があります。TiltはDocker Composeやローカル処理も扱えます。
ひよこ ひよこ
Tiltは、何を楽にする道具?
ペンギン先生 ペンギン先生
開発中のビルド、起動、変更の反映などをまとめて扱うよ。複数のサービスを手で起動したり、変更のたびにコマンドを繰り返したりする作業を、Tiltfileに記述した手順で進めるんだ。
ひよこ ひよこ
Kubernetesを使っていないと、利用できない?
ペンギン先生 ペンギン先生
Docker Composeの構成や、ローカルで動く処理も扱える。すべてのプロジェクトに必要なわけではないので、既存の開発手順やツールで足りるかも比べよう。
ひよこ ひよこ
Tiltfileは、普通のPythonファイル?
ペンギン先生 ペンギン先生
Pythonに似たStarlarkで書くよ。繰り返しや関数などを使えるけれど、Pythonそのものではない。TiltのAPIで、ビルドや起動に必要な情報を登録する。Pythonのライブラリを何でもそのまま使えるわけではないんだ。
ひよこ ひよこ
Live Updateなら、変更は全部すぐ反映する?
ペンギン先生 ペンギン先生
設定したsyncに合うファイルを実行中のコンテナへ反映し、必要ならrunの処理も行う。初回は環境を起動するためのビルドが必要だし、fall_back_onに合う変更などではビルドと再デプロイへ戻る。反映方法と費用は変更の内容によって違うよ。
ひよこ ひよこ
tilt upを試す前に、何を確かめる?
ペンギン先生 ペンギン先生
Tiltfileが実行するコマンドと、接続する開発環境を確認しよう。起動だけを表示するコマンドではなく、ビルドやデプロイなどが実際に動く。UIのログや状態を使って結果を追い、本番向けの配信手順とは目的を分けて考えるよ。
もっと詳しく知りたい人へ

Live Updateと、再ビルドはどう使い分ける?

ソースの同期など、実行中のコンテナで反映できる変更をLive Updateに設定します。依存関係やイメージの構成を変えるファイルは、fall_back_onなどで再ビルドに戻す設計にできます。監視対象でもsyncに合わない変更は、通常のビルド対象になる場合があります。

ログが一覧になれば、原因も自動で分かる?

UIで各処理の状態やログを追いやすくなりますが、それだけで原因が確定するわけではありません。ビルド、アプリ、接続先のどこで失敗したかを確かめます。手順の依存関係や変更の反映方法は、プロジェクトに合わせて設定します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Tilt」って出てきたら「開発環境の起動や更新をまとめて扱うツール」と思えばだいたいOK!
📖 おまけ:英語の意味
「Tilt」 = 開発環境をコードで定義して動かすツールの名前
💬 Tiltfileに、イメージのビルドやアプリの起動、変更の反映方法を記述します。名称の英語の意味から、開発上の効果や命名意図まで断定するものではありません。

参考資料

← 用語集にもどる