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) は、イメージ構築プロセス中にステータスが異なる可能性があります。次の表は、ビルド実行のさまざまなステータスを示しています。

表3.2 ビルド実行のステータス
ステータス原因説明

Unknown

Pending

BuildRun リソースは、Pending ステータスの Pod を待機します。

Unknown

Running

BuildRun リソースが検証され、その作業の実行が開始しました。

Unknown

BuildRunCanceled

ユーザーがビルド実行のキャンセルを要求しました。この要求は build run controller をトリガーし、関連するタスクの実行をキャンセルするリクエストを作成します。このステータスが存在する場合、キャンセルはまだ処理中です。

True

Succeeded

BuildRun リソースの Pod が作成されます。

False

Failed

BuildRun リソースがステップの 1 つで失敗しました。

False

BuildRunTimeout

BuildRun リソースの実行がタイムアウトになりました。

False

UnknownStrategyKind

Kind フィールドで定義されたストラテジータイプは不明です。ClusterBuildStrategyBuildStrategy のストラテジータイプを定義できます。

False

ClusterBuildStrategyNotFound

参照されたクラスタースコープのストラテジーがクラスター内に見つかりませんでした。

False

BuildStrategyNotFound

参照された namespace スコープのストラテジーがクラスター内に見つかりませんでした。

False

SetOwnerReferenceFailed

BuildRun リソースから関連する TaskRun リソースへの ownerReferences フィールドの設定に失敗しました。

False

TaskRunIsMissing

BuildRun リソースに関連する TaskRun リソースが見つかりませんでした。

False

TaskRunGenerationFailed

TaskRun 仕様の生成に失敗しました。

False

MissingParameterValues

デフォルトのないビルドストラテジーで定義されている一部のパラメーターに値が指定されていません。Build または BuildRun CR でこれらのパラメーターの値を指定する必要があります。

False

RestrictedParametersInUse

システムパラメーターの値が指定されましたが、これは許可されません。

False

UndefinedParameter

ビルドストラテジーで定義されていないパラメーターの値が指定されました。

False

WrongParameterValueType

ビルドストラテジーパラメーターに間違ったタイプの値が指定されました。たとえば、ビルドストラテジーでパラメーターが配列または文字列として定義されている場合は、それに応じて値のセットまたは直接値を指定する必要があります。

False

InconsistentParameterValues

パラメーターの値に、valueconfigMapValue、および secretValue の値が複数含まれていました。一貫性を維持するには、前述の値のうち 1 つだけを指定する必要があります。

False

EmptyArrayItemParameterValues

配列パラメーターの値内の項目に、valueconfigMapValue、および secretValue の値が含まれていませんでした。null 配列項目は許可されないため、前述の値のうち 1 つだけを指定する必要があります。

False

IncompleteConfigMapValueParameterValues

パラメーターの値に、name または value フィールドが空の configMapValue 値が含まれていました。namespace 内の既存の config map キーを指すように空のフィールドを指定する必要があります。

False

IncompleteSecretValueParameterValues

パラメーターの値に、name または value フィールドが空の secretValue 値が含まれていました。namespace 内の既存の秘密鍵を指すには、空のフィールドを指定する必要があります。

False

ServiceAccountNotFound

参照されたサービスアカウントがクラスター内に見つかりませんでした。

False

BuildRegistrationFailed

BuildRun リソースで参照されているビルドは Failed の状態です。

False

BuildNotFound

BuildRun リソースで参照されているビルドが見つかりませんでした。

False

BuildRunCanceled

BuildRun および関連する TaskRun リソースは正常にキャンセルされました。

False

BuildRunNameInvalid

metadata.name フィールドに定義されたビルド実行名が無効です。BuildRun CR でビルド実行名の有効なラベル値を指定する必要があります。

False

BuildRunNoRefOrSpec

BuildRun リソースには、spec.build.namespec.build.spec フィールドも定義されていません。

False

BuildRunAmbiguousBuild

定義された BuildRun リソースは、spec.build.name フィールドと spec.build.spec フィールドの両方を使用します。一度に許可されるパラメーターは 1 つだけです。

False

BuildRunBuildFieldOverrideForbidden

定義された spec.build.name フィールドは、spec.build.spec フィールドと組み合わせたオーバーライドを使用しますが、これは使用できません。spec.build.spec フィールドを使用してそれぞれの値を直接指定してください。

False

PodEvicted

ビルド実行 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 リソース設定を確認できます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.