1. ゆるITエンジニア道場
  2. ローカル開発環境のためのtilt..
2025-12-02 05:33

ローカル開発環境のためのtiltが便利すぎる

--------------------------------------------------------------


riddle : https://x.com/riddle_tec

ひびの : https://x.com/nasustim


番組へのお便りはこちら:https://forms.gle/gp78XNFgERDFDkb88

サマリー

Tiltは、ローカル開発環境においてマイクロサービスや複数のコンテナの管理を簡素化するオープンソースのツールです。特に、Kubernetesを使用したコンテナの自動デプロイやデバッグが容易になり、開発者にとって非常に便利です。

Tiltの紹介
こんにちは、シニアソフトウェアエンジニアのriddleです。このポッドキャストは、IT業界のいろんな話やリアルをお届けします。
今回はですね、私がOSSのちょっとバグ修正をしようと思って見つけた
tiltというツールがめっちゃ良かったという話をしたいと思います。主にですね、マイクロサービスだったりだとか、いくつか複数のコンテナとかを
共同して動かさないといけないサービスの開発をしている方向けのツールです。 これはドッカーがメンテナンスというか提供してくれているOSSになるんですけども、ローカルで使うツールです。
tiltupというコマンドを叩くとですね、tiltファイルというものに定義したいろんなそのコンテナだったり、
kubernetesの定義だったり、もちろんコマンドみたいなものも含めて実行してくれるというわけですね。
どういうものかというと、kubernetesで説明するのが一番簡単なんですけれども、kubernetesっていろんなそのコンテナをまとめて起動できたりとか、
維持できるようなオーケストレーションツールと呼ばれているんですけれども、ローカルにkubernetesを立てます。
これはkindとかminikubeみたいなツールを使って立てるんですけども、そうするとですね、例えばバックエンドとフロントエンドっていう2つのコンテナが
スナフとも必要で、プラスバックエンドはデータベースを使いますみたいな構成のときって、この3つを全部kubernetes上に起動したいですよね。
それって結構めんどくさくて、ドッカーコンポーズとかでやられる方もいらっしゃると思うんですけれども、
これをですね、例えばもっとバックエンドが増えてきたりとかすると、ちょっとコンポーズだともう厳しいみたいな話になってくると、どうしてもkubernetesに置きたいだよね、みたいな。
もしくはそのkubernetesでないと使えないようなものもあるので、そういったものを使うみたいになるとkubernetesに入れたいんですけど、なかなかそれを一元管理するのって難しいんですよ、特にローカル環境で。
毎回そのデプロイするのめんどくさいし、なんならkubernetesで起動した環境に対してテストしたりとか、デバッグしたりとかっていうのもちょっと一手間いるんですよね。
これを簡単にしてくれるのがTiltで、Tiltファイルにですね、これとこれとこれをkubernetes上に起動してほしいとか、これをどうしてほしいみたいなことを書くとですね、勝手に検知してやってくれるんですよ。
なので、例えば私がバックエンドのGoのコードを変更したら、それを検知して、そのGoのコードを含むGoビルドを走って、それをどこかビルドでコンテナに突っ込んで、そのイメージが変更されたことをトリガーにさらにkubernetesにデプロイしてくれるみたいなことを全部やってくれるので、
もう普通にID上で保存ってやったらkubernetes上に反映されるとこまで持ってきるんですね、自動で。これねめっちゃ楽で、それで複数のマイクロサービスが勝手に更新されていくので、例えばそのAPIゲートみたいなものがあって、その後ろに何か自前のマイクロサービスがあるみたいなときに両方が動いてないとテストできないんですけれども、
それがですね両方とも起動するし、ちょっと変えるだけですぐ反映されるのでめちゃくちゃ楽ですね。これTiltはOSSで無料で使えるっていうのもいいですし、いろんなプラグインを作っていらっしゃる方も多くて、いろんなことができるようになっています。
ちょうどね私がこれ見つけて導入したのが2週間ぐらい前なんですけど、もうめちゃくちゃ当たりでしたね。めっちゃ久々に良いツール見つけたなという感じなんですけど、あんまり日本では知名度がそんなに高くなくて、
Zenとか見ても記事数がそんなに多くないので、ぜひですねこのツールは皆さんに使っていただきたいなと思って宣伝しています。別に何かねあの私にメリットがあるわけではないんですけど、使う人が多くなればね、あの開発もねより良くなるだろうし。
Tiltの実用性
はい。別に今なんかバグってて困ってるとかも全然ないので、良いツールですね。なのでこれ入れたので私はローカルというかあの自分たちのGitのリポジトリからDockerファイルとかComposeファイルとか結構消しましたね。
でこれいいのはKubernetes上で起動したPodに対して、まあデルブみたいなもの、まあGoだと使うんですけどデバッガーとして、それ用意しといて起動すれば普通にVGSコードからもうそのPodにアクセスして、まあ今ビルドしたGoのコードをそのままアタッチしてデバッグできるので、まあIDのデバッガーも使えてめちゃくちゃ便利ですね。
はい。ということで今ローカル開発だとTiltを使ってなんかコンテナとか起動して、そこに対してデバッグしに行くとかやってます。
もうちょっとレベルアップしたらね、あのマイクロサービスのE2Eテストというか、複数のAPIを束ねたようなテストみたいなものもできると思うんで、Tiltで起動したところに対してKildでテストを流すみたいなこともできる未来があるんじゃないかなと思っています。
はい。ということでですね今回はTiltというDockerが今メンテナンスしているツールのご紹介をしました。
まあちょっと最初に入れるのにはもしかしたらハードルがあるかもしれないんですけども、まあちょっとそのハードルは別にそんなに高くない割にめちゃくちゃ恩恵がでかいので、ぜひですね入れていただきたいなと思います。
はい。ということでTiltでした。このポッドキャストはハッシュタグライトで皆様からの感謝やコメントを募集しております。
またチャンネルの概要欄にありますGoogleフォームのリンクからもご投稿可能ですのでよろしくお願いします。
ありがとうございました。
05:33

コメント

スクロール