【Cloud Native Buildpacks】Lifecycleとは

2022.07.23
2024.03.24
コンテナ
Cloud Native Buildpacks

はじめに

Cloud Native Buildpacksのコンポーネントから、Lifecycleについてどんなものなのか紹介していきます。

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

GitHub - buildpacks/lifecycle: Reference implementation of the Cloud Native Buildpacks lifecycle

Reference implementation of the Cloud Native Buildpacks lifecycle - buildpacks/lifecycle

コマンド

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

まずはイメージをpullします。

1docker pull paketobuildpacks/builder:latest

コンテナを起動してコマンドを確認してみます。

1docker run paketobuildpacks/builder:latest ls /cnb/lifecycle
2analyzer
3builder
4creator
5detector
6exporter
7launcher
8lifecycle
9rebaser
10restorer
11
12docker run paketobuildpacks/builder:latest /cnb/lifecycle/builder -h
13Usage of lifecycle:
14  -app string
15        path to app directory (default "/workspace")
16  -buildpacks string
17        path to buildpacks directory (default "/cnb/buildpacks")
18  -group string
19        path to group.toml (default "<layers>/group.toml")
20  -layers string
21        path to layers directory (default "/layers")
22  -log-level string
23        logging level (default "info")
24  -no-color
25        disable color output
26  -plan string
27        path to plan.toml (default "<layers>/plan.toml")
28  -platform string
29        path to platform directory (default "/platform")
30  -version
31        show version

参考

Support

\ この記事が役に立ったと思ったら、サポートお願いします! /

buy me a coffee
Share

Profile

author

Masa

都内のIT企業で働くエンジニア
自分が学んだことをブログでわかりやすく発信していきながらスキルアップを目指していきます!

buy me a coffee