【Cloud Native Buildpacks】Lifecycleとは

スポンサーリンク

はじめに

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では、以下のようなコマンドが使えます。

コマンド内容
analyzerbuildとexportを最適化できるファイルを復元する
detectorbuildpackを選んでビルドプランを生成する
restorer前回のイメージとキャッシュからメタデータと、キャッシュされたレイヤーを復元する
builderbuildpackを実行する
exporterイメージとキャッシュレイヤーを生成する
creatoranalyzerdetectorrestorerbuilderexporterを順番に実行する
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

参考

タイトルとURLをコピーしました