はじめに
Cloud Native Buildpacksのコンポーネントから、Lifecycleについてどんなものなのか紹介していきます。
Cloud Native Buildpacksの超基本的なことについては下記を参照してください。

Cloud Native Buildpacksについてざっくり理解する
はじめにCloud Native Buildpacksについてざっくり解説し、実際に使ってどんなことができるか試してみたいと思います。Cloud Native BuildpacksとはCloud Native Buildpacksとは...
Lifecycleとは
Lifecycleとは、buildpackの実行を管理し、イメージを作成するコンポーネントです。
GitHub - buildpacks/lifecycle: Reference implementation of the Cloud Native Buildpacks lifecycle
Reference implementation of the Cloud Native Buildpacks lifecycle - GitHub - buildpacks/lifecycle: Reference implementation of the Cloud Native Buildpacks lifec...
コマンド
Lifecycleでは、以下のようなコマンドが使えます。
コマンド | 内容 |
---|---|
analyzer | buildとexportを最適化できるファイルを復元する |
detector | buildpackを選んでビルドプランを生成する |
restorer | 前回のイメージとキャッシュからメタデータと、キャッシュされたレイヤーを復元する |
builder | buildpackを実行する |
exporter | イメージとキャッシュレイヤーを生成する |
creator | analyzer 、detector 、restorer 、builder 、exporter を順番に実行する |
luancher | イメージのエントリーポイントを設定する |
rebaser | 新しいrun imageにRebaseする |
Rebase
Rebaseとは、run imageに変更があった場合に、アプリを1からビルドするのではなく、run imageだけを変えることで素早くapp imageを作成する操作です。
公式ドキュメントより
builderイメージから確認
PaketoのBuilderからlifecycleのコマンドを確認してみます。
Docker Hub
まずはイメージをpullします。
docker pull paketobuildpacks/builder:latest
コンテナを起動してコマンドを確認してみます。
❯ docker run paketobuildpacks/builder:latest ls /cnb/lifecycle
analyzer
builder
creator
detector
exporter
launcher
lifecycle
rebaser
restorer
❯ docker run paketobuildpacks/builder:latest /cnb/lifecycle/builder -h
Usage of lifecycle:
-app string
path to app directory (default "/workspace")
-buildpacks string
path to buildpacks directory (default "/cnb/buildpacks")
-group string
path to group.toml (default "<layers>/group.toml")
-layers string
path to layers directory (default "/layers")
-log-level string
logging level (default "info")
-no-color
disable color output
-plan string
path to plan.toml (default "<layers>/plan.toml")
-platform string
path to platform directory (default "/platform")
-version
show version