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 認証情報を作成します。