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 凭证。