4.2.5.3. OpenShift Container Platform 同步插件
为便于 OpenShift Container Platform Pipeline 构建策略 在 Jenkins 和 OpenShift Container Platform 间集成,OpenShift Sync 插件 监控 OpenShift Container Platform 的 API 服务器,以获取对 BuildConfigs
和 Builds
的更新,以使用 Pipeline 策略并创建 Jenkins Pipeline 项目(在创建 BuildConfig
时)或者在生成的项目中启动作业(在 Build
启动时)。
如 配置 Jenkins Kubernetes 插件中 所述,此插件可根据 OpenShift Container Platform 中定义的 ImageStream
、ImageStreamTag
或 ConfigMap
对象的具体情况,为 Kubernetes 插件创建 PodTemplate
配置。
此插件现在可以使用一个带有credentials.sync.jenkins.openshift.io
标签键,标签值为 true
的 Secret
对象,并构建 Jenkins 凭证,这些凭证放置在 Jenkins 凭证层次结构中的默认全局域中。凭证 ID 由在中定义 Secret
的命名空间组成、一个连字符(-
),后跟 Secret
的名称。
与处理 PodTemplates
的 ConfigMap
类似 , OpenShift Container Platform 中定义的 Secret
对象被视为主配置。OpenShift Container Platform 中对象的任何后续更新将应用于 Jenkins 凭证(覆盖期间对凭证所做的任何更改)。
移除了 credential.sync.jenkins.openshift.io
属性,将该属性设置为 true
以外的任何属性,或删除 OpenShift Container Platform 中的 Secret
,会导致删除 Jenkins 中的相关凭证。
secret 的类型将映射到 jenkins 凭证类型,如下所示:
-
Opaque 类型的
Secret
对象,插件会在data
部分查找username
和password
,并组成一个 Jenkins UsernamePasswordCredentials 凭证。请记住,在 OpenShift Container Platform 中,password
字段可以是实际密码,也可以是用户的唯一令牌。如果没有这些,它会查找ssh-privatekey
字段并创建一个 Jenkins BasicSSHUserPrivateKey 凭证。 -
使用
kubernetes.io/basic-auth
类型 'Secret'objects 会创建一个 Jenkins UsernamePasswordCredentials 凭证。 -
使用
kubernetes.io/ssh-auth
类型Secret
对象,该插件会创建一个 Jenkins BasicSSHUserPrivateKey 凭证。