This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.6. 入力シークレットおよび設定マップ
シナリオによっては、ビルド操作で、依存するリソースにアクセスするための認証情報や他の設定データが必要になる場合がありますが、この情報をソースコントロールに配置するのは適切ではありません。この目的で input secrets および input config mapsを定義することができます。
たとえば、Maven を使用して Java アプリケーションをビルドする場合、プライベートキーを使ってアクセスされる Maven Central または JCenter のプライベートミラーをセットアップできます。そのプライベートミラーからライブラリーをダウンロードするには、以下を指定する必要があります。
- ミラーの URL および接続の設定が含まれる settings.xml ファイル。
- ~/.ssh/id_rsa などの、設定ファイルで参照されるプライベートキー。
セキュリティー上の理由により、認証情報はアプリケーションイメージで公開しないでください。
以下の例は Java アプリケーションについて説明していますが、/etc/ssl/certs ディレクトリー、API キーまたはトークン、ラインセンスファイルなどに SSL 証明書を追加する場合に同じ方法を使用できます。
3.6.1. 入力シークレットおよび設定マップの追加 リンクのコピーリンクがクリップボードにコピーされました!
シナリオによっては、ビルド操作で、依存するリソースにアクセスするための認証情報や他の設定データが必要になる場合がありますが、この情報をソースコントロールに配置するのは適切ではありません。この目的で input secrets および input config mapsを定義することができます。
手順
既存の BuildConfig
オブジェクトに入力シークレットおよび/または設定マップを追加するには、以下を行います。
ConfigMap
オブジェクトがない場合はこれを作成します。oc create configmap settings-mvn \ --from-file=settings.xml=<path/to/settings.xml>
$ oc create configmap settings-mvn \ --from-file=settings.xml=<path/to/settings.xml>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、settings-mvn という名前の新しい設定マップが作成されます。これには、settings.xml ファイルのプレーンテキストのコンテンツが含まれます。
Secret
オブジェクトがない場合はこれを作成します。oc create secret generic secret-mvn \ --from-file=id_rsa=<path/to/.ssh/id_rsa>
$ oc create secret generic secret-mvn \ --from-file=id_rsa=<path/to/.ssh/id_rsa>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これにより、secret-mvn という名前の新規シークレットが作成されます。 これには、id_rsa プライベートキーの base64 でエンコードされたコンテンツが含まれます。
設定マップおよびシークレットを既存の
BuildConfig
オブジェクトのsource
セクションに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
シークレットおよび設定マップを新規の BuildConfig
オブジェクトに追加するには、以下のコマンドを実行します。
oc new-build \ openshift/wildfly-101-centos7~https://github.com/wildfly/quickstart.git \ --context-dir helloworld --build-secret “secret-mvn” \ --build-config-map "settings-mvn"
$ oc new-build \
openshift/wildfly-101-centos7~https://github.com/wildfly/quickstart.git \
--context-dir helloworld --build-secret “secret-mvn” \
--build-config-map "settings-mvn"
ビルド時に、settings.xml および id_rsa ファイルはソースコードが配置されているディレクトリーにコピーされます。OpenShift Container Platform S2I ビルダーイメージでは、これはイメージの作業ディレクトリーで、Dockerfile の WORKDIR
の指示を使用して設定されます。別のディレクトリーを指定するには、destinationDir
を定義に追加します。
新規の BuildConfig
オブジェクトの作成時に、宛先のディレクトリーを指定することも可能です。
oc new-build \ openshift/wildfly-101-centos7~https://github.com/wildfly/quickstart.git \ --context-dir helloworld --build-secret “secret-mvn:.ssh” \ --build-config-map "settings-mvn:.m2"
$ oc new-build \
openshift/wildfly-101-centos7~https://github.com/wildfly/quickstart.git \
--context-dir helloworld --build-secret “secret-mvn:.ssh” \
--build-config-map "settings-mvn:.m2"
いずれの場合も、settings.xml ファイルがビルド環境の ./.m2 ディレクトリーに追加され、id_rsa キーは ./.ssh ディレクトリーに追加されます。