Repolode
ktock

ktock/buildg

BuildKitをベースに、ブレークポイントやステップ実行、ビルドステップ内のシェルを使ってDockerfileのビルドをデバッグできるツール。

スター
1,502
フォーク
40
未解決の Issue
15
最終コミット
3 か月前

これは何?

buildgは、Dockerfileのビルドをデバッグするツールです。長時間のビルドをやり直して失敗箇所を推測する代わりに、Dockerfileの行にブレークポイントを設定し、命令を1つずつ実行して、各ステップのビルドコンテキストやファイルシステムを調べられます。

ステップで一時停止すると、その時点の状態で対話型シェルを開き、任意のデバッグツールを実行できます。オプションでカスタムデバッガーイメージを追加すれば、ビルドイメージに含まれていないツールを使ってシェルを実行できます。また、buildgはDebug Adapter Protocolを通じてエディターと連携できるため、VS Code、Emacs、Neovimからビジュアルなブレークポイントを使ってデバッガーを操作できます。

buildgはBuildKitをベースとしており、上流にまだ取り込まれていないパッチも含まれています。rootless実行にも対応しています。ネイティブ実行は現在Linuxに限られ、他のプラットフォームではLinux VMが必要です。本プロジェクトは初期段階のソフトウェアとされています。nerdctlのサブコマンドとしても利用できます。

主な機能

  • 01Dockerfileの行、または失敗したステップにブレークポイントを設定できる。
  • 02ビルド命令を1つずつ実行し、指定したブレークポイントまで続行できる。
  • 03ビルドステップ内で対話型シェルを開き、その状態を調べられる。
  • 04独自のツールを含むカスタムデバッガーイメージを追加できる。
  • 05DAPを介して、VS Code、Emacs、Neovimなどのエディターと連携できる。
  • 06rootless実行に対応している。

ユースケース

  • 大規模で時間のかかるDockerfileのどの命令でビルドが失敗するかを特定する。
  • ビルド途中のステップでファイルや環境を調べる。
  • VS CodeやNeovimからDockerfileのビルドをデバッグする。
  • リモートキャッシュされたビルドを調べて、ビルドキャッシュの挙動を調査する。

クイックスタート

  1. 1

    Go 1.23以降をインストールし、リポジトリをクローンします

    git clone https://github.com/ktock/buildg
  2. 2

    makeでバイナリをビルドします

    make
  3. 3

    バイナリをシステムにインストールします

    sudo make install
  4. 4

    ビルドコンテキストでデバッグセッションを開始します

    buildg debug /path/to/build/context

使う前に知っておきたいこと

  • ネイティブ実行に対応しているのはLinuxのみです。他のプラットフォームではLinux VMが必要です。
  • このプロジェクトは、未マージのパッチを含むBuildKitを基盤とした開発初期段階のソフトウェアです。
  • IDE(DAP)との連携にはrootlessモードでの実行が必要です。

トピック

よくある質問

buildg とは?
BuildKitをベースに、ブレークポイントやステップ実行、ビルドステップ内のシェルを使ってDockerfileのビルドをデバッグできるツール。 buildgは、Dockerfileのビルドをデバッグするツールです。長時間のビルドをやり直して失敗箇所を推測する代わりに、Dockerfileの行にブレークポイントを設定し、命令を1つずつ実行して、各ステップのビルドコンテキストやファイルシステムを調べられます。
buildg は無料で使えますか?ライセンスは?
buildg は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
buildg は今もメンテナンスされていますか?
半年以内に更新あり。buildg の最終コミットは 2026年7月30日 です。
buildg は何に使えますか?
大規模で時間のかかるDockerfileのどの命令でビルドが失敗するかを特定する。 ビルド途中のステップでファイルや環境を調べる。 VS CodeやNeovimからDockerfileのビルドをデバッグする。 リモートキャッシュされたビルドを調べて、ビルドキャッシュの挙動を調査する。
buildg のインストール方法は?
Go 1.23以降をインストールし、リポジトリをクローンします: git clone https://github.com/ktock/buildg makeでバイナリをビルドします: make バイナリをシステムにインストールします: sudo make install ビルドコンテキストでデバッグセッションを開始します: buildg debug /path/to/build/context
buildg はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/ktock/buildg

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト