1.4. ビルドのパラメーター値の定義


ビルドストラテジーのパラメーターは、ビルド カスタムリソース (CR) で設定できます。これらの設定は、ビルドの実行方法を制御します。すべてのパラメーターには、値を指定する必要があります。値を直接指定することも、ConfigMaps または Secrets 内のキーを参照することもできます。

注記

ConfigMaps または Secrets は、ビルドストラテジー内のコマンド、引数、または環境変数にパラメーターが含まれている場合にのみ使用できます。

ビルド時にパラメーター値定義を使用するための要件は以下のとおりです。

  • マッピング: すべての spec.paramValues 名は、BuildStrategy CR で定義されているパラメーターと一致する必要があります。
  • 予約名: BUILDER_IMAGECONTEXT_DIR、または shp- で始まる名前などの予約名は使用しないでください。
  • リソース: ConfigMaps または Secrets は、パラメーターがコマンド、引数、または環境変数で使用されている場合にのみ使用できます。

1.4.1. パラメーター値を定義する設定例

以下の例は、ビルドストラテジーでパラメーターを設定する方法を示しています。カスタムリソース (CR) の作成機能 を使用すると、これらのパラメーターに特定の値を指定できます。配列パラメーターに値を割り当てることもできます。

ClusterBuildStrategy CR でパラメーターを定義する

以下の例は、複数のパラメーターを持つ ClusterBuildStrategy CR を示しています。

apiVersion: shipwright.io/v1beta1
kind: ClusterBuildStrategy
metadata:
  name: buildah
spec:
  parameters:
    - name: build-args
      description: "The values for the args in the Dockerfile. Values must be in the format KEY=VALUE."
      type: array
      defaults: []
    # ...
    - name: storage-driver
      description: "The storage driver to use, such as 'overlay' or 'vfs'."
      type: string
      default: "vfs"
# ...
steps:
# ...
ビルド CR 内のパラメーターに値を割り当てる

前の例で示したように、ClusterBuildStrategy CR は ストレージドライバー パラメーターを定義します。ビルド CR でその値を次のように変更できます。

apiVersion: shipwright.io/v1beta1
kind: Build
metadata:
  name: <your_build>
  namespace: <your_namespace>
spec:
  paramValues:
  - name: storage-driver
    value: "overlay"
  strategy:
    name: buildah
    kind: ClusterBuildStrategy
  output:
  # ...

各項目の説明:

<your_build>
ビルド CR の名前を指定します。
<your_namespace>
ビルド CR の名前空間を指定します。
パラメーターを一元的に制御するための ConfigMap CR を作成する
複数のビルドで同じパラメーター値を使用するには、ConfigMap を 使用します。これにより、値を一箇所で変更し、その使用状況を一元的に管理することが可能になります。次の設定例を参照してください。
apiVersion: v1
kind: ConfigMap
metadata:
  name: buildah-configuration
  namespace: <your_namespace>
data:
  storage-driver: overlay

+

各項目の説明:

<your_namespace>
ConfigMap CR の名前空間を指定します。

+ 次の例に示すように、作成した ConfigMap CR を Build CR のパラメーター値として使用できます。

+

apiVersion: shipwright.io/v1beta1
kind: Build
metadata:
  name: <your_build>
  namespace: <your_namespace>
spec:
  paramValues:
  - name: storage-driver
    configMapValue:
      name: buildah-configuration
      key: storage-driver
  strategy:
    name: buildah
    kind: ClusterBuildStrategy
  output:
  # ...

+

各項目の説明:

metadata
ビルド CR のメタデータを指定します。
ビルド CR 内の配列型のパラメーターに値を割り当てる

配列 のパラメーターに値を割り当てることもできます。たとえば、registries-search を使用して、ビルド時にイメージを探す場所を指定します。次の例を参照してください。

apiVersion: shipwright.io/v1beta1
kind: Build
metadata:
  name: <your_build>
  namespace: <your_namespace>
spec:
  paramValues:
  - name: storage-driver
    configMapValue:
      name: buildah-configuration
      key: storage-driver
  - name: registries-search
    values:
    - value: registry.redhat.io
  strategy:
    name: buildah
    kind: ClusterBuildStrategy
  output:
  # ...

各項目の説明:

metadata
ビルド CR のメタデータを指定します。
ビルド CR でシークレットを参照する

パラメーターから シークレット を参照できます。次の例は、シークレット を使用して特定のレジストリーをブロックする方法を示しています。

apiVersion: shipwright.io/v1beta1
kind: Build
metadata:
  name: <your_build>
  namespace: <your_namespace>
spec:
  paramValues:
  - name: storage-driver
    configMapValue:
      name: buildah-configuration
      key: storage-driver
  - name: registries-block
    values:
    - secretValue:
        name: registry-configuration
        key: reg-blocked
  strategy:
    name: buildah
    kind: ClusterBuildStrategy
  output:
  # ...

各項目の説明:

metadata
ビルド CR のメタデータを指定します。
values.secretValue
シークレット を参照する値を指定します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

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

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

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る