第 5 章 部署应用程序并查看安全分析


组织利用结构化的应用程序部署方法,通常涉及开发、预生产和生产阶段。此过程通常是自动化和受定义的规则和触发器的管制。

本指南概述了在 OpenShift GitOps 中通过 ArgoCD 部署应用程序,从而在所有阶段都启用持续部署。ArgoCD 有助于基于 GitOps 的部署策略,将 Git 存储库作为基础架构配置的单一数据源进行读取。此存储库更新会在环境中触发部署。

注意

本指南演示了一个部署方法示例;机构可能会采用适合其工作流的任何方法。

5.1. 将构建提升到预生产环境或生产环境

将构建从一个环境提升到另一个环境(如从 development 到 stage 或 production)涉及通过拉取请求(PR)更新 GitOps 存储库。

  1. 在 RHDH 平台上,选择 Catalog
  2. Kind 下拉列表中,选择 Resource,然后选择适当的 GitOps 存储库。
  3. 在 Overview 选项卡中,选择 View Source
  4. (可选)选择 Catalog,然后在 Overview 选项卡中选择 View TechDocs

    1. Home > Repository 部分中,选择 GitOps 存储库。
  5. 克隆 GitOps 存储库,再前往 component/<app-name> 目录。

    注意

    确保本地克隆为最新版本。

  6. 签出新分支。
  7. 在存储库中,找到 component/<app-name>/overlays 目录,在其中找到 开发stageprod 子目录,各自对应于一个环境。
  8. 手动将应用程序从开发环境移到阶段或生产环境。

    Expand
    移动应用程序执行此操作

    从开发到暂存环境

    1. 展开 development 目录,再选择 deployment-patch.yaml
    2. 复制容器镜像 URL。例如: quay.io/<username>/<app-name>/imageurl。
    3. 进入 stage 目录,选择 deployment-patch.yaml,并将现有容器镜像 URL 替换为复制的目录。
    注意

    如果要提升其他配置更改(例如,副本)除了开发到阶段环境的容器镜像外,请复制 development 目录中的 deployment-patch.yaml 文件中的更改,并将它们粘贴到 stage 目录中的 deployment-patch.yaml 文件中。

    从阶段到生产环境

    1. 展开 stage 目录,再选择 deployment-patch.yaml
    2. 复制容器镜像 URL。例如: quay.io/<username>/<app-name>/imageurl。
    3. 前往 prod 目录,选择 deployment-patch.yaml,并将现有的容器镜像 URL 替换为复制的镜像 URL。
    注意

    如果要提升其他配置更改(例如,副本)除了从阶段到生产环境的容器镜像外,请复制 stage 目录中的 deployment-patch.yaml 文件中的更改,并将它们粘贴到 prod 目录中的 deployment-patch.yaml 文件中。

  9. 提交并推送您的更新。
  10. 创建拉取请求(PR)。此操作将启动一个提升管道运行,用于根据 Red Hat Enterprise Contract (Enterprise Contract)策略验证更新的容器镜像。管道运行以可视化方式表示所有任务,绿色 状态表示成功完成。

    1. 查看 RHDH 中的 CI 选项卡中的提升管道。
  11. 检查并合并 PR。合并 PR 触发器 ArgoCD,然后自动应用必要的更改,将构建提升到下一个环境。

    1. 查看 RHDH 中的 CD 选项卡中的最新部署更新。它显示应用的当前状态、部署详情、管道运行的作者、提交消息(例如,Promote stage 到 prod),以及容器镜像是否适用于生产环境。

验证

  • 要评估应用程序成功提升,请进入 Topology 选项卡。您可以在指定命名空间中查看应用程序的发布。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部