3.9. ビルド実行ステータス
次の例に示すように、イメージの構築ステータスが変化するたびに、BuildRun
リソースが更新されます。
例: ステータスが不明な BuildRun
$ oc get buildrun buildah-buildrun-mp99r NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME buildah-buildrun-mp99r Unknown Unknown 1s
例: ステータスが True の BuildRun
$ oc get buildrun buildah-buildrun-mp99r NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME buildah-buildrun-mp99r True Succeeded 29m 20m
BuildRun
リソースは、status.conditions
フィールドにステータス関連の情報を保存します。たとえば、Succeeded
タイプの条件は、リソースが操作を正常に完了したことを示します。status.conditions
フィールドには、ステータス、理由、および BuildRun
リソースのメッセージなどの重要な情報が含まれます。
3.9.1. ビルド実行ステータスの説明
BuildRun
カスタムリソース (CR) は、イメージ構築プロセス中にステータスが異なる可能性があります。次の表は、ビルド実行のさまざまなステータスを示しています。
ステータス | 原因 | 説明 |
---|---|---|
|
|
|
|
|
|
|
| ユーザーがビルド実行のキャンセルを要求しました。この要求は build run controller をトリガーし、関連するタスクの実行をキャンセルするリクエストを作成します。このステータスが存在する場合、キャンセルはまだ処理中です。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 参照されたクラスタースコープのストラテジーがクラスター内に見つかりませんでした。 |
|
| 参照された namespace スコープのストラテジーがクラスター内に見つかりませんでした。 |
|
|
|
|
|
|
|
|
|
|
|
デフォルトのないビルドストラテジーで定義されている一部のパラメーターに値が指定されていません。 |
|
| システムパラメーターの値が指定されましたが、これは許可されません。 |
|
| ビルドストラテジーで定義されていないパラメーターの値が指定されました。 |
|
| ビルドストラテジーパラメーターに間違ったタイプの値が指定されました。たとえば、ビルドストラテジーでパラメーターが配列または文字列として定義されている場合は、それに応じて値のセットまたは直接値を指定する必要があります。 |
|
|
パラメーターの値に、 |
|
|
配列パラメーターの値内の項目に、 |
|
|
パラメーターの値に、 |
|
|
パラメーターの値に、 |
|
| 参照されたサービスアカウントがクラスター内に見つかりませんでした。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
定義された |
|
|
定義された |
|
| ビルド実行 Pod が、実行されていたノードからエビクトされました。 |
3.9.2. 失敗したビルドの実行
ビルドの実行が失敗した場合は、BuildRun
CR の status.failureDetails
フィールドをチェックして、Pod またはコンテナー内で失敗が発生した正確なポイントを特定できます。status.failureDetails
フィールドにはエラーメッセージと失敗の理由が含まれます。失敗のメッセージと理由がビルドストラテジーで定義されている場合にのみ表示されます。
次の例は、失敗したビルド実行を示しています。
# ... status: # ... failureDetails: location: container: step-source-default pod: baran-build-buildrun-gzmv5-b7wbf-pod-bbpqr message: The source repository does not exist, or you have insufficient permission to access it. reason: GitRemotePrivate
status.failureDetails
フィールドには、Git に関連するすべての操作のエラーの詳細も表示されます。
3.9.3. ステップ結果のビルド実行ステータス
BuildRun
リソースの実行が完了すると、.status
フィールドには、build run controller によって生成されたステップから出力された .status.taskResults
の結果が含まれます。結果には、イメージのビルドに使用されたイメージダイジェストまたはソースコードのコミット SHA が含まれます。BuildRun
リソースでは、.status.sources
フィールドにソースステップの実行の結果が、.status.output
フィールドに出力ステップの実行の結果が含まれます。
次の例は、Git ソースのステップ結果を含む BuildRun
リソースを示しています。
例: Git ソースのステップ結果を含む BuildRun
リソース
# ... status: buildSpec: # ... output: digest: sha256:07626e3c7fdd28d5328a8d6df8d29cd3da760c7f5e2070b534f9b880ed093a53 size: 1989004 sources: - name: default git: commitAuthor: xxx xxxxxx commitSha: f25822b85021d02059c9ac8a211ef3804ea8fdde branchName: main
次の例は、ローカルソースコードのステップ結果を含む BuildRun
リソースを示しています。
例: ローカルソースコードのステップ結果を含む BuildRun
リソース
# ... status: buildSpec: # ... output: digest: sha256:07626e3c7fdd28d5328a8d6df8d29cd3da760c7f5e2070b534f9b880ed093a53 size: 1989004 sources: - name: default bundle: digest: sha256:0f5e2070b534f9b880ed093a537626e3c7fdd28d5328a8d6df8d29cd3da760c7
出力イメージのダイジェストとサイズは、ビルドストラテジーで定義されている場合にのみ表示されます。
3.9.4. ビルドのスナップショット
既存のタスク実行が対象となるビルド実行に含まれている場合、ビルド実行を調整するたびに、BuildRun
リソースのステータスの buildSpec
フィールドが更新されます。
この更新中に、Build
リソースのスナップショットが生成され、BuildRun
リソースの status.buildSpec
フィールドに埋め込まれます。このため、buildSpec
フィールドには、特定のイメージのビルドを実行するために使用されていた元の Build
仕様の正確なコピーが含まれます。ビルドスナップショットを使用すると、元の Build
リソース設定を確認できます。