22.5. 基于文件的目录自动发布
在发布捆绑包后,自动发布后通过自动化目录更新来简化 FBC 工作流。这可减少手动工作,并帮助确保目录模板的一致性。
22.5.1. 概述 复制链接链接已复制到粘贴板!
标准 FBC 发行工作流包含两个步骤:
- 构建、测试和发布 Operator 捆绑包
- 将发布的捆绑包添加到 OpenShift Container Platform (OCP)目录中
现在,您可以使用 auto-release 功能自动化第二步。启用自动发布功能,以自动更新目录。
提交包含新捆绑包和 release-config.yaml 文件的拉取请求后,发行管道会处理剩余的操作。它创建并合并包含所需目录更改的后续拉取请求。以下是 自动生成的目录 PR 的示例"。
22.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
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]
在本例中:
-
Operator 捆绑包会发布到
basic.yaml模板中的my-channel频道。 -
semver.yaml模板中的Fast和Stable频道也会发布相同的捆绑包。 -
replaces字段(可选)指定新捆绑包在更新图中取代的早期捆绑包版本。
22.5.3. 文件结构详情 复制链接链接已复制到粘贴板!
release-config.yaml 文件的结构会在管道运行过程中自动验证。如果文件不符合 schema,拉取请求将失败,并显示详细的错误消息。
该文件必须使用以下结构:
-
顶级键是
catalog_templates,其中包含目录更新定义的列表。 列表中的每一项代表一个目录模板,必须包括:
-
template_name:位于catalog-templates/目录中的目录模板文件的名称。 频道:捆绑包要发布到的频道列表。对于 SemVer 模板,有效值为:
Fast、Stable和Candidate。-
replaces(可选):指定在更新图中替换新捆绑包。这只适用于基本模板。 -
skips(可选):更新图中要跳过的捆绑包列表。这只适用于基本模板。 -
skipRange(可选):指示应跳过哪个捆绑包版本的范围。这只适用于基本模板。
-
如需更多信息,请参阅 release-config.yaml 模式文档。