8.4. ビルド出力
8.4.1. ビルド出力の概要 リンクのコピーリンクがクリップボードにコピーされました!
Source ストラテジーを使用するビルドにより、新しいコンテナーイメージが作成されます。このイメージは、Build 仕様の output セクションで指定されているコンテナーイメージのレジストリーにプッシュされます。
出力の種類が ImageStreamTag の場合は、イメージが統合された OpenShift Online レジストリーにプッシュされ、指定のイメージストリームにタグ付けされます。出力が DockerImage タイプの場合は、出力参照の名前が Docker のプッシュ仕様として使用されます。この仕様にレジストリーが含まれる場合もありますが、レジストリーが指定されていない場合は、DockerHub にデフォルト設定されます。ビルド仕様の出力セクションが空の場合には、ビルドの最後にイメージはプッシュされません。
ImageStreamTag への出力
spec:
output:
to:
kind: "ImageStreamTag"
name: "sample-image:latest"
spec:
output:
to:
kind: "ImageStreamTag"
name: "sample-image:latest"
Docker のプッシュ仕様への出力
spec:
output:
to:
kind: "DockerImage"
name: "my-registry.mycompany.com:5000/myimages/myimage:tag"
spec:
output:
to:
kind: "DockerImage"
name: "my-registry.mycompany.com:5000/myimages/myimage:tag"
8.4.2. アウトプットイメージの環境変数 リンクのコピーリンクがクリップボードにコピーされました!
Source ストラテジービルドは、以下の環境変数をアウトプットイメージに設定します。
| 変数 | 説明 |
|---|---|
|
| ビルドの名前 |
|
| ビルドの namespace |
|
| ビルドのソース URL |
|
| ビルドで使用する git 参照 |
|
| ビルドで使用するソースコミット |
さらに、Source ストラテジーオプションで設定されるユーザー定義の環境変数は、アウトプットイメージの環境変数一覧にも含まれます。
8.4.3. アウトプットイメージのラベル リンクのコピーリンクがクリップボードにコピーされました!
Source ビルドは、以下のラベルをアウトプットイメージに設定します。
| ラベル | 説明 |
|---|---|
|
| ビルドで使用するソースコミットの作成者 |
|
| ビルドで使用するソースコミットの日付 |
|
| ビルドで使用するソースコミットのハッシュ |
|
| ビルドで使用するソースコミットのメッセージ |
|
| ソースに指定するブランチまたは参照 |
|
| ビルドのソース URL |
BuildConfig.spec.output.imageLabels フィールドを使用して、カスタムラベルの一覧を指定することも可能です。 このラベルは、BuildConfig の各イメージビルドに適用されます。
ビルドイメージに適用されるカスタムラベル
8.4.4. アウトプットイメージのダイジェスト リンクのコピーリンクがクリップボードにコピーされました!
ビルドイメージは、ダイジェストで一意に識別して、後に現在のタグとは無関係にこれを使用してダイジェスト別にイメージをプルすることができます。
Source ビルドは、イメージがレジストリーにプッシュされた後に Build.status.output.to.imageDigest にダイジェストを保存します。ダイジェストはレジストリーで処理されます。そのため、これはレジストリーがダイジェストを返さない場合や、ビルダーイメージで形式が認識されない場合など、存在しないことがあります。
レジストリーへのプッシュに成功した後のビルドイメージのダイジェスト
status:
output:
to:
imageDigest: sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912
status:
output:
to:
imageDigest: sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912
8.4.5. プライベートレジストリーでの Docker 認証情報の使用 リンクのコピーリンクがクリップボードにコピーされました!
シークレットを使用して認証情報を指定することで、プライベート Docker レジストリーにイメージをプッシュすることができます。方法については、「ビルド入力」を参照してください。