3.9. ビルド環境
Pod 環境変数と同様に、ビルドの環境変数は Downward API を使用して他のリソースや変数の参照として定義できます。ただし、いくつかは例外があります。
oc set env
コマンドで、BuildConfig
に定義した環境変数を管理することも可能です。
参照はコンテナーの作成前に解決されるため、ビルド環境変数の valueFrom
を使用したコンテナーリソースの参照はサポートされません。
3.9.1. 環境変数としてのビルドフィールドの使用
ビルドオブジェクトの情報は、値を取得するフィールドの JsonPath
に、fieldPath
環境変数のソースを設定することで挿入できます。
Jenkins Pipeline ストラテジーは、環境変数の valueFrom
構文をサポートしません。
手順
値を取得するフィールドの
JsonPath
に、fieldPath
環境変数のソースを設定します。env: - name: FIELDREF_ENV valueFrom: fieldRef: fieldPath: metadata.name
3.9.2. 環境変数としてのシークレットの使用
valueFrom
構文を使用して、シークレットからのキーの値を環境変数として利用できます。
この方法では、シークレットをビルド Pod コンソールの出力でプレーンテキストとして表示します。これを回避するには、代わりに入力シークレットおよび config map を使用します。
手順
シークレットを環境変数として使用するには、
valueFrom
構文を設定します。apiVersion: build.openshift.io/v1 kind: BuildConfig metadata: name: secret-example-bc spec: strategy: sourceStrategy: env: - name: MYVAL valueFrom: secretKeyRef: key: myval name: mysecret