Cloud Native Buildpacks
Cloud Native Buildpacksはアプリケーションのソースコードから任意のクラウドで実行できるイメージに変換してくれるツールです。プロジェクトは2018年1月にHerokuによって開始され、2018年10月にCloud Native Computing Foundation(CNCF)のsandbox projectsになりました。
※2020/11/22時点でCNCFのprojectsを確認したところ、Incubating projectsに移動しており成熟度が上がっているようです。
また関連して、米国時間:2020/10/10にGoogle CloudからオープンソースのBuildpacksとビルダーのサポートする記事も上がっておりました。
使ってみる
Buildpacksする際にpack commandを使用するため、まずpack CLIをインストールします。
brew install buildpacks/tap/pack
今回は試しにBuildpacksのsample集にあるRuby projectを使ってコンテナイメージを作成します。
git clone https://github.com/buildpacks/samples
cd samples/ruby-bundler
コンテナイメージを作成するにはpack build
で作成することができます。Dockerfileなしでコマンドひとつでできるのは嬉しいですね。
pack build myapp --builder cnbs/sample-builder:bionic
作成が完了したら、サンプルのsinatraアプリケーションを立ち上げて見ましょう。
下記コマンド実行後、localhost:8080
を確認してHello World!
が出ていれば成功です。
docker run -it -p 8080:8080 myapp
最後に
次は一からBuildpack作るとこまでやりたい。
参考資料
Buildpacks.io
Cloud Native Computing Foundation | Graduated and incubating projects