1.4. ビルドコントローラー


build controller は、Build リソースの更新を監視し、以下のタスクを実行します。

  • 参照される Strategy オブジェクトが Build リソースに存在するかどうかを検証します。
  • Build CR で指定されたパラメーターが参照されたビルドストラテジーに存在するかどうかを検証します。また、パラメーター名が予約された名前と競合するかどうかも検証します。
  • コンテナーレジストリーの出力シークレットが Build リソースに存在するかどうかを検証します。
  • 参照される spec.source.git.url エンドポイント URL が Build リソースに存在するかどうかを検証します。

build run controller は、Build または TaskRun リソースの更新を監視し、以下のタスクを実行します。

  • 既存の TaskRun リソースを検索し、その親 BuildRun リソースのステータスを更新します。
  • 指定したサービスアカウントを取得し、Build リソースの出力シークレットと共に設定します。
  • TaskRun リソースが存在しない場合は、コントローラーが新しい Tekton TaskRun リソースを生成し、TaskRun リソースへの参照を設定します。
  • TaskRun リソースの後続の更新では、コントローラーが親の BuildRun リソースを更新します。

1.4.1. ビルドの検証

BuildRun リソースのトリガーを回避して、依存関係や設定が正しくない、または欠落していることが原因で失敗しないように、ビルドコントローラーがこのような内容を事前に検証します。すべての検証が成功すると、Succeeded という名前の status.reason フィールドが表示されます。ただし、検証が失敗した場合は、status.reason フィールドと status.message フィールドをチェックして根本原因を理解する必要があります。

表1.1 ビルドコントローラーによる Builds の検証
status.reason フィールド説明

BuildStrategyNotFound

namespace レベルで参照されているストラテジーは存在しません。

ClusterBuildStrategyNotFound

クラスターレベルで参照されているストラテジーは存在しません。

SetOwnerReferenceFailed

Build リソースと BuildRun リソース間の所有者参照の設定に失敗しました。このステータスは、ビルドで spec.retention.atBuildDeletion フィールドを true に設定するとトリガーされます。

SpecSourceSecretRefNotFound

Git への認証に使用されるシークレットは存在しません。

SpecOutputSecretRefNotFound

コンテナーレジストリーに対する認証に使用されるシークレットが存在しません。

SpecBuilderSecretRefNotFound

コンテナーレジストリーに対する認証に使用されるシークレットが存在しません。

MultipleSecretRefNotFound

認証に使用されるシークレットが複数欠落しています。

RestrictedParametersInUse

1 つまたは複数の定義された パラメーター が予約されたパラメーターと競合しています。

UndefinedParameter

パラメーターは参照されたストラテジーでは定義されません。これらのパラメーターは、ストラテジーの spec.parameters 仕様で定義する必要があります。

RemoteRepositoryUnreachable

定義された spec.source.git.url 仕様が見つかりませんでした。この検証は、HTTP および HTTPS プロトコルに対してのみ行われます。

BuildNameInvalid

metadata.name フィールドのビルド名が無効です。ビルド名には有効なラベル値を使用する必要があります。

SpecEnvNameCanNotBeBlank

ユーザー指定の環境変数の名前が空白であることを示します。

SpecEnvValueCanNotBeBlank

ユーザー指定の環境変数の値が空白であることを示します。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.