10.9. ビルドと自動化
このセクションでは、Red Hat Quay 内で自動ビルドを管理するために使用できる設定オプションについて説明します。これらの設定は、Dockerfile ビルドのトリガー、処理、保存方法と、ビルドログの管理およびアクセス方法を制御します。
これらのフィールドは次の目的で使用できます。
- ソースリポジトリーからの自動ビルドを有効または無効にします。
- ビルドマネージャーの動作とリソース管理を設定します。
- 監査またはデバッグの目的でビルドログへのアクセスと保持を制御します。
これらのオプションは、CI/CD パイプラインを合理化し、ビルドポリシーを適用して、レジストリー全体のビルド履歴の可視性を維持するのに役立ちます。
関連情報
10.9.1. Dockerfile ビルドトリガーフィールド リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、Dockerfiles およびソースコードリポジトリーから Red Hat Quay で自動ビルドを有効にして管理するために使用される設定フィールドについて説明します。これらのフィールドを使用すると、ビルドの動作を定義し、GitHub、GitLab、Bitbucket トリガーのサポートを有効または無効にして、各 SCM プロバイダーの OAuth 認証情報とエンドポイントを提供できます。
| フィールド | タイプ | 説明 |
|---|---|---|
| FEATURE_BUILD_SUPPORT | Boolean |
Dockerfile ビルドをサポートするかどうか |
| SUCCESSIVE_TRIGGER_FAILURE_DISABLE_THRESHOLD | 数値 |
|
| SUCCESSIVE_TRIGGER_INTERNAL_ERROR_DISABLE_THRESHOLD | 数値 |
|
Dockerfile ビルドサポートの YAML サンプル
# ... FEATURE_BUILD_SUPPORT: true SUCCESSIVE_TRIGGER_FAILURE_DISABLE_THRESHOLD: 100 SUCCESSIVE_TRIGGER_INTERNAL_ERROR_DISABLE_THRESHOLD: 5 # ...
# ...
FEATURE_BUILD_SUPPORT: true
SUCCESSIVE_TRIGGER_FAILURE_DISABLE_THRESHOLD: 100
SUCCESSIVE_TRIGGER_INTERNAL_ERROR_DISABLE_THRESHOLD: 5
# ...
| フィールド | タイプ | 説明 |
|---|---|---|
| FEATURE_GITHUB_BUILD | Boolean |
GitHub ビルドトリガーをサポートするかどうか。 |
| GITHUB_TRIGGER_CONFIG | Object | ビルドトリガーに GitHub Enterprise を使用するための設定。 |
|
.GITHUB_ENDPOINT | 文字列 |
GitHub Enterprise のエンドポイント。 |
| .API_ENDPOINT | 文字列 |
使用する GitHub Enterprise API のエンドポイント。 |
|
.CLIENT_ID | 文字列 |
この Red Hat Quay インスタンスの登録済みクライアント ID。これを |
|
.CLIENT_SECRET | 文字列 | この Red Hat Quay インスタンスの登録されたクライアントシークレット。 |
Github ビルドトリガーの YAML サンプル
| フィールド | タイプ | 説明 |
|---|---|---|
| FEATURE_BITBUCKET_BUILD | Boolean |
Bitbucket ビルドトリガーをサポートするかどうか。 |
| BITBUCKET_TRIGGER_CONFIG | Object | ビルドトリガーに BitBucket を使用するための設定。 |
|
.CONSUMER_KEY | 文字列 | この Red Hat Quay インスタンスの登録済みコンシューマーキー (クライアント ID)。 |
|
.CONSUMER_SECRET | 文字列 | この Red Hat Quay インスタンスの登録済みコンシューマーシークレット (クライアントシークレット)。 |
Bitbucket ビルドトリガーの YAML サンプル
| フィールド | タイプ | 説明 |
|---|---|---|
| FEATURE_GITLAB_BUILD | Boolean |
GitLab ビルドトリガーをサポートするかどうか。 |
| GITLAB_TRIGGER_CONFIG | Object | ビルドトリガーに Gitlab を使用するための設定。 |
|
.GITLAB_ENDPOINT | 文字列 | Gitlab Enterprise が実行されているエンドポイント。 |
|
.CLIENT_ID | 文字列 | この Red Hat Quay インスタンスの登録済みクライアント ID。 |
|
.CLIENT_SECRET | 文字列 | この Red Hat Quay インスタンスの登録されたクライアントシークレット。 |
GitLab ビルドトリガーの YAML サンプル
10.9.2. ビルドマネージャー設定フィールド リンクのコピーリンクがクリップボードにコピーされました!
次の設定フィールドは、Red Hat Quay のビルドマネージャーコンポーネントがコンテナーイメージのビルドをオーケストレーションおよび管理する方法を制御します。これには、Redis 調整、Kubernetes や EC2 などのエグゼキューターバックエンド、ビルダーイメージ設定、高度なスケジュール設定と再試行ポリシーの設定が含まれます。
これらのフィールドは、インフラストラクチャー環境とワークロードの要件に合わせて設定する必要があります。
| フィールド | タイプ | 説明 |
|---|---|---|
| ALLOWED_WORKER_COUNT | 文字列 |
Red Hat Quay Pod ごとにインスタンス化される Build Worker の数を定義します。通常は |
| ORCHESTRATOR_PREFIX | 文字列 | すべての Redis キーに追加する一意の接頭辞を定義します。これは、オーケストレーターの値を他の Redis キーから分離するのに役立ちます。 |
| REDIS_HOST | Object | Redis サービスのホスト名。 |
| REDIS_PASSWORD | 文字列 | Redis サービスへの認証に使用するパスワード。 |
| REDIS_SSL | Boolean | Redis の接続に SSL/TLS を使用するかどうかを定義します。 |
| REDIS_SKIP_KEYSPACE_EVENT_SETUP | Boolean |
デフォルトでは、Red Hat Quay はランタイム時のキーイベントに必要なキースペースイベントを設定しません。これを行うには、 |
| EXECUTOR | 文字列 |
このタイプのエグゼキュータの定義を開始します。有効な値は |
| BUILDER_NAMESPACE | 文字列 | Red Hat Quay のビルドが行われる Kubernetes namespace。 |
| K8S_API_SERVER | Object | ビルドが行われる OpenShift Container Platform クラスターの API サーバーのホスト名。 |
| K8S_API_TLS_CA | Object |
API 呼び出しの実行時に |
| KUBERNETES_DISTRIBUTION | 文字列 |
使用している Kubernetes の種類を示します。有効な値は |
| CONTAINER_* | Object |
各 |
| NODE_SELECTOR_* | Object |
|
| CONTAINER_RUNTIME | Object |
ビルダーが |
| SERVICE_ACCOUNT_NAME/SERVICE_ACCOUNT_TOKEN | Object |
|
| QUAY_USERNAME/QUAY_PASSWORD | Object |
|
| WORKER_IMAGE | Object | Red Hat Quay ビルダーイメージのイメージ参照 (registry.redhat.io/quay/quay-builder)。 |
| WORKER_TAG | Object | 希望するビルダーイメージのタグ。最新バージョンは 3.15 です。 |
| BUILDER_VM_CONTAINER_IMAGE | Object |
各 Red Hat Quay ビルドの実行に必要な内部仮想マシンを保持するコンテナーイメージの完全な参照 ( |
| SETUP_TIME | 文字列 |
ビルドがまだビルドマネージャーに登録されていない場合に、タイムアウトする秒数を指定します。デフォルトは |
| MINIMUM_RETRY_THRESHOLD | 文字列 |
この設定は、複数のエグゼキューターで使用されます。別のエグゼキューターを選択するまでに、ビルドの開始を何回再試行するかを示します。 |
| SSH_AUTHORIZED_KEYS | Object |
|
ビルドマネージャー設定フィールド
10.9.3. ビルドログ設定フィールド リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、Red Hat Quay でビルドログを管理するために使用できる設定フィールドについて説明します。これらの設定により、ビルドログがアーカイブされる場所、アクセスできるユーザー、および保存方法が決まります。
| フィールド | タイプ | 説明 |
|---|---|---|
| FEATURE_READER_BUILD_LOGS | Boolean |
true に設定すると、 |
| LOG_ARCHIVE_LOCATION | 文字列 |
アーカイブされたビルドログを配置する、 |
| LOG_ARCHIVE_PATH | 文字列 |
アーカイブされたビルドログを |
ビルドログの YAML サンプル
# ... FEATURE_READER_BUILD_LOGS: true LOG_ARCHIVE_LOCATION: s3_us_east LOG_ARCHIVE_PATH: archives/buildlogs # ...
# ...
FEATURE_READER_BUILD_LOGS: true
LOG_ARCHIVE_LOCATION: s3_us_east
LOG_ARCHIVE_PATH: archives/buildlogs
# ...