在没有发布分支的情况下发布集合
由于未使用发布分支,因此本节不区分发布主要版本、次要版本或修补程序版本。
发布计划和公告
创建发布分支
确保你在本地分支的默认分支中。在以下示例中,我们使用
main
。
git status git checkout main # if needed
更新你的本地分支
git pull --rebase upstream main
从默认分支检出一个新的发布分支
git checkout -b release_branch
确保
galaxy.yml
包含正确的发布版本号。
生成变更日志
添加一个变更日志片段
changelogs/fragments/X.Y.Z.yml
,内容如下:
release_summary: |- Write some text here that should appear as the release summary for this version. The format is reStructuredText, but not a list as for regular changelog fragments. This text will be inserted into the changelog.例如
release_summary: |- This is the minor release of the ``community.mysql`` collection. This changelog contains all changes to the modules and plugins in this collection that have been made after the previous release.
如果内容最近从另一个集合移动(例如,将模块从一个集合迁移到另一个集合),请确保在
changelogs/fragments
目录中包含所有相关的变更日志片段。如果没有,请先复制它们。运行
antsibull-changelog release --reload-plugins
。此软件包应使用pip install antsibull-changelog
安装。验证
CHANGELOG.rst
是否符合预期。提交并将更改推送到
CHANGELOG.rst
和changelogs/changelog.yaml
,以及可能已删除/归档的片段到origin
存储库的release_branch
。
git commit -a -m "Release VERSION commit" git push origin release_branch
在集合存储库中创建一个拉取请求。如果 CI 测试通过,则合并它。
检出默认分支并拉取更改
git checkout main git pull --rebase upstream main
发布集合
向发布提交添加带注释的标签,标签为集合版本。将此标签推送到
upstream
存储库将使 Zuul 在Ansible Galaxy上发布集合。
git tag -n # see current tags and their comments git tag -a NEW_VERSION -m "comment here" # the comment can be, for example, "community.postgresql: 1.2.0" git push upstream NEW_VERSION
等待新版本在集合的Ansible Galaxy页面上发布。它将显示在可供下载的 tarball 列表中。
将
galaxy.yml
文件中的版本更新为下一个**预期**版本。添加、提交并推送到upstream
的默认分支。为新标签添加一个 GitHub 发布。标题应为版本,内容为
See https://github.com/ansible-collections/community.xxx/blob/main/CHANGELOG.rst for all changes
。通过Bullhorn 新闻通讯发布发布公告。
在步骤 3 中提到的集合的固定发布问题/社区公告板以及
community
矩阵/IRC 频道中发布发布公告。