4.2.5.3. OpenShift Container Platform 同期プラグイン
Jenkins と OpenShiftContainerPlatform を統合するための OpenShiftContainer Platform Pipeline ビルドストラテジー を容易にするために、OpenShift Sync プラグイン は、OpenShift Container Platform の API サーバーを監視して、Pipeline ストラテジーを採用する BuildConfigs および Builds への更新を確認し、Jenkins Pipeline プロジェクトを作成するか (BuildConfig の作成時)、作成されるプロジェクトでジョブを開始します (Build の開始時)。
Jenkins Kubernetes プラグインの設定 で説明されているように、このプラグインは、OpenShift Container Platform に定義済みで具体的に引用された ImageStream、ImageStreamTag または ConfigMap オブジェクトをベースに、Kubernetes プラグインの PodTemplate 設定を作成できます。
このプラグインは、credential.sync.jenkins.openshift.io のラベルキーと、true のラベルの値が指定された Secret オブジェクトを取得し、Jenkins 認証情報の階層内のデフォルトのグローバルドメインに配置される Jenkins 認証情報を構築できるようになりました。認証情報の ID は、Secret が定義されている namespace、ハイフン (-)、そして Secret の名前で設定されます。
PodTemplates の ConfigMaps の処理と同様に、OpenShift Container Platform で定義された Secret オブジェクトは、マスター設定とみなされます。OpenShift Container Platform のオブジェクトへのその後の更新は、Jenkins 認証情報に適用されます (暫定的に認証情報に加えられた変更を上書きします)。
credential.sync.jenkins.openshift.io プロパティーを削除したり、このプロパティーを true 以外に設定したり、OpenShift Container Platform から Secret を削除したりすると、Jenkins で関連する認証情報が削除されます。
シークレットのタイプは、以下のように jenkins 認証情報タイプにマッピングされます。
-
Opaque タイプの
Secretオブジェクトの場合には、プラグインはdataセクションでusernameおよびpasswordを検索し、Jenkins UsernamePasswordCredentials 認証情報を構築します。OpenShift Container Platform では、passwordフィールドには、実際のパスワードまたはユーザーの一意のトークンを指定できることを忘れないでください。これらがない場合は、ssh-privatekeyフィールドを検索し、Jenkins BasicSSHUserPrivateKey の認証情報を作成します。 -
kubernetes.io/basic-authタイプの `Secret` オブジェクトの場合は、プラグインは Jenkins UsernamePasswordCredentials の認証情報を作成します。 -
kubernetes.io/ssh-authタイプのSecretオブジェクトの場合は、プラグインは Jenkins BasicSSHUserPrivateKey 認証情報を作成します。