2.3.5.3. 使用 Jenkins 可重复提升过程
用于 OpenShift Container Platform 的 Jenkins Docker 镜像 中定义的 OpenShift Sample 作业是一个在 Jenkins 构造中 OpenShift Container Platform 中的镜像提升示例。本示例的设置位于 OpenShift Origin 源存储库中。
这个示例包括:
- 使用 Jenkins 作为 CI/CD 引擎。
-
将 OpenShift Pipeline 插件用于 Jenkins。此插件提供了
oc
CLI 为打包为 Jenkins Freestyle 和 DSL 作业步骤的 oc CLI 提供的功能子集。请注意,oc
二进制文件也包含在用于 OpenShift Container Platform 的 Jenkins Docker 镜像中,也可用于与 Jenkins 任务中的 OpenShift Container Platform 交互。 - OpenShift Container Platform 提供的 Jenkins 的模板。适用于临时存储和持久存储的模板。
-
示例应用 :在 OpenShift Origin 源存储库 中定义,此应用利用
ImageStreams
、imageChangeTriggers
、ImageStreamTags
、BuildConfigs
和与提升管道中不同阶段对应的DeploymentConfig
和服务
。
下面将更加详细地检查 OpenShift Sample 作业的各种部分:
-
第一步是 等同于
oc scale dc frontend --replicas=0
调用。此步骤旨在关闭可能正在运行的应用程序镜像的任何早期版本。 -
第二个步骤 等同于
oc start-build frontend
调用。 -
第三个步骤 等同于
oc rollout latest dc/frontend
调用。 - 第四个步骤是本例的"测试"步骤。它确保此应用程序的相关服务实际上可从网络角度访问。在覆盖范围内,针对与 OpenShift Container Platform 服务关联的 IP 地址和端口尝试套接字连接。当然,可以添加额外的测试(如果没有通过 OpenShift Pipepline 插件步骤),然后通过使用 Jenkins Shell 步骤来利用操作系统级命令和脚本来测试应用程序。
-
第五个步骤开始假设测试通过的应用程序,因此希望将镜像标记为"就绪"。在这一步中,会从 latest 镜像为应用镜像创建一个新的 prod 标签。随着 frontend
DeploymentConfig
有一个为该标签定义的ImageChangeTrigger
,则会启动对应的"production"部署。 - 第六个和最后一个步骤 是一个验证步骤,插件确认 OpenShift Container Platform 为 "production" 部署启动了所需的副本数。