5.2.6. ビルドボリュームの使用
ビルドボリュームをマウントして、実行中のビルドに、アウトプットコンテナーイメージで永続化しない情報にアクセスできます。
ビルドボリュームは、ビルド時にビルド環境や設定が必要なリポジトリーの認証情報など、機密情報のみを提供します。ビルドボリュームは、データが出力コンテナーイメージに保持されるビルド入力とは異なります。
実行中のビルドがデータを読み取るビルドボリュームのマウントポイントは機能的に pod volume mounts に似ています。
前提条件
- 入力シークレット、config map、またはその両方を BuildConfig オブジェクトに追加している。
手順
BuildConfigオブジェクトのsourceStrategy定義で、ビルドボリュームをvolumes配列に追加します。以下に例を示します。spec: sourceStrategy: volumes: - name: secret-mvn mounts: - destinationPath: /opt/app-root/src/.ssh source: type: Secret secret: secretName: my-secret - name: settings-mvn mounts: - destinationPath: /opt/app-root/src/.m2 source: type: ConfigMap configMap: name: my-config - name: my-csi-volume mounts: - destinationPath: /opt/app-root/src/some_path source: type: CSI csi: driver: csi.sharedresource.openshift.io readOnly: true volumeAttributes: attribute: valueここでは、以下のようになります。
name- 一意の名前を指定します。
destinationPath-
マウントポイントの絶対パスを指定します。
..または:を含めないでください。こうすることで、ビルダーが生成した宛先パスと競合しなくなります。/opt/app-root/srcは、多くの Red Hat S2I 対応イメージのデフォルトのホームディレクトリーです。 type-
ソースのタイプ (
ConfigMap、Secret、またはCSI) を指定します。 secretName- ソースの名前を指定します。
driver- 一時 CSI ボリュームを提供するドライバーを指定します。
readOnly-
読み取り専用ボリュームが提供されることを指定します。この値は
trueに設定する必要があります。 volumeAttributes- (オプション) 一時 CSI ボリュームのボリューム属性を指定します。サポートされる属性キーおよび値は、CSI ドライバーのドキュメントを参照してください。