3.6.4. 入力シークレットおよび config map の追加


認証情報およびその他の設定データをソース管理に配置せずにビルドに提供するには、入力シークレットおよび入力 config map を定義します。

シナリオによっては、ビルド操作で、依存するリソースにアクセスするための認証情報や他の設定データが必要になる場合があります。この情報をソース管理に配置せずに利用可能にするには、入力シークレットおよび入力 config map を定義します。

手順

既存の BuildConfig オブジェクトに入力シークレットおよび/または config map を追加するには、以下を行います。

  1. ConfigMap オブジェクトが存在しない場合は、次のコマンドを入力して作成します。

    $ oc create configmap settings-mvn \
        --from-file=settings.xml=<path/to/settings.xml>

    これにより、settings-mvn という名前の新しい config map が作成されます。これには、settings.xml ファイルのプレーンテキストのコンテンツが含まれます。

    ヒント

    または、以下の YAML を適用して config map を作成できます。

    apiVersion: core/v1
    kind: ConfigMap
    metadata:
      name: settings-mvn
    data:
      settings.xml: |
        <settings>
        … # Insert maven settings here
        </settings>
  2. Secret オブジェクトが存在しない場合は、次のコマンドを入力して作成します。

    $ oc create secret generic secret-mvn \
        --from-file=ssh-privatekey=<path/to/.ssh/id_rsa> \
        --type=kubernetes.io/ssh-auth

    これにより、secret-mvn という名前の新規シークレットが作成されます。これには、id_rsa プライベートキーの base64 でエンコードされたコンテンツが含まれます。

    ヒント

    または、以下の YAML を適用して入力シークレットを作成できます。

    apiVersion: core/v1
    kind: Secret
    metadata:
      name: secret-mvn
    type: kubernetes.io/ssh-auth
    data:
      ssh-privatekey: |
        # Insert ssh private key, base64 encoded
  3. config map およびシークレットを既存の BuildConfig オブジェクトの source セクションに追加します。

    source:
      git:
        uri: https://github.com/wildfly/quickstart.git
      contextDir: helloworld
      configMaps:
        - configMap:
            name: settings-mvn
      secrets:
        - secret:
            name: secret-mvn
  4. シークレットおよび config map を新規の 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"

    ビルド中に、ビルドプロセスは、settings.xml ファイルと id_rsa ファイルをソースコードが配置されているディレクトリーにコピーします。OpenShift Container Platform S2I ビルダーイメージでは、これはイメージの作業ディレクトリーで、DockerfileWORKDIR の指示を使用して設定されます。別のディレクトリーを指定するには、destinationDir を定義に追加します。

    source:
      git:
        uri: https://github.com/wildfly/quickstart.git
      contextDir: helloworld
      configMaps:
        - configMap:
            name: settings-mvn
          destinationDir: ".m2"
      secrets:
        - secret:
            name: secret-mvn
          destinationDir: ".ssh"

    次のコマンドを入力して、新しい 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"

    いずれの場合も、settings.xml ファイルがビルド環境の ./.m2 ディレクトリーに追加され、id_rsa キーは ./.ssh ディレクトリーに追加されます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

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

会社概要

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

Theme

© 2026 Red Hat
トップに戻る