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 源存储库 中定义,此应用利用 ImageStreamsimageChangeTriggersImageStreamTagsBuildConfigs 和与提升管道中不同阶段对应的 DeploymentConfig服务

下面将更加详细地检查 OpenShift Sample 作业的各种部分:

  1. 第一步是 等同于 oc scale dc frontend --replicas=0 调用。此步骤旨在关闭可能正在运行的应用程序镜像的任何早期版本。
  2. 第二个步骤 等同于 oc start-build frontend 调用。
  3. 第三个步骤 等同于 oc rollout latest dc/frontend 调用。
  4. 第四个步骤是本例的"测试"步骤。它确保此应用程序的相关服务实际上可从网络角度访问。在覆盖范围内,针对与 OpenShift Container Platform 服务关联的 IP 地址和端口尝试套接字连接。当然,可以添加额外的测试(如果没有通过 OpenShift Pipepline 插件步骤),然后通过使用 Jenkins Shell 步骤来利用操作系统级命令和脚本来测试应用程序。
  5. 第五个步骤开始假设测试通过的应用程序,因此希望将镜像标记为"就绪"。在这一步中,会从 latest 镜像为应用镜像创建一个新的 prod 标签。随着 frontend DeploymentConfig 有一个为该标签定义ImageChangeTrigger,则会启动对应的"production"部署。
  6. 第六个和最后一个步骤 是一个验证步骤,插件确认 OpenShift Container Platform 为 "production" 部署启动了所需的副本数。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.