23.5. 基于文件的目录自动发布


在发布捆绑包后,自动发布后通过自动化目录更新来简化 FBC 工作流。这可减少手动工作,并帮助确保目录模板的一致性。

23.5.1. 概述

标准 FBC 发行工作流包含两个步骤:

  1. 构建、测试和发布 Operator 捆绑包
  2. 将发布的捆绑包添加到 OpenShift Container Platform (OCP)目录中

现在,您可以使用 auto-release 功能自动化第二步。启用自动发布功能,以自动更新目录。

提交包含新捆绑包和 release-config.yaml 文件的拉取请求后,发行管道会处理剩余的操作。它创建并合并包含所需目录更改的后续拉取请求。以下是 自动生成的目录 PR 的示例"。

23.5.2. 创建 release-config.yaml 文件

要启用 Operator 捆绑包的自动发行版本到 FBC 模式的 OpenShift Container Platform (OCP)目录,请在对应的捆绑包版本目录中添加 release-config.yaml 文件。例如: operators/aqua/0.0.2/release-config.yaml

tree operators/aqua
.
├── 0.0.2
│   ├── release-config.yaml # This is the file
│   ├── manifests
│   └── metadata
├── catalog-templates
├── ci.yaml
└── Makefile
Copy to Clipboard Toggle word wrap

release-config.yaml 文件定义新捆绑包的具体发布位置,用于更新哪个目录模板以及捆绑包如何适合于更新图表。

Example

---
catalog_templates:
  - template_name: basic.yaml
    channels: [my-channel]
    replaces: aqua.0.0.1
  - template_name: semver.yaml
    channels: [Fast, Stable]
Copy to Clipboard Toggle word wrap

在本例中:

  • Operator 捆绑包会发布到 basic.yaml 模板中的 my-channel 频道。
  • semver.yaml 模板中的 FastStable 频道也会发布相同的捆绑包。
  • replaces 字段(可选)指定新捆绑包在更新图中取代的早期捆绑包版本。

23.5.3. 文件结构详情

release-config.yaml 文件的结构会在管道运行过程中自动验证。如果文件不符合 schema,拉取请求将失败,并显示详细的错误消息。

该文件必须使用以下结构:

  • 顶级键是 catalog_templates,其中包含目录更新定义的列表。
  • 列表中的每一项代表一个目录模板,必须包括:

    • template_name:位于 catalog-templates/ 目录中的目录模板文件的名称。
    • 频道 :捆绑包要发布到的频道列表。

      对于 SemVer 模板,有效值为:FastStableCandidate

    • replaces (可选):指定在更新图中替换新捆绑包。这只适用于基本模板。
    • skips (可选):更新图中要跳过的捆绑包列表。这只适用于基本模板。
    • skipRange (可选):指示应跳过哪个捆绑包版本的范围。这只适用于基本模板。

如需更多信息,请参阅 release-config.yaml 模式文档

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat