跳转到: 导航, 搜索

Zaqar/发布指南

客户端发布

发布客户端库的流程类似于服务器端发布所遵循的流程。但是,在这种情况下,PTL充当“发布经理”。请注意,您必须在#openstack-infra中请求将您添加到Gerrit中的“marconi-ptl”组,否则git会抱怨您没有权限推送到gerrit仓库。

版本控制

为了遵循PEP440,我们需要将OpenStack里程碑映射到版本号。 建议采用以下映射。 请注意,中间里程碑版本仅针对2014.1显示,但可以想象它们在后续开发周期中遵循类似的模式。 同样,仅针对单个版本给出仅递增PATCH版本的bugfix发布示例。

OpenStack PEP440
2014.1 0.0.1
2014.2.b1 1.0.0b1
2014.2.b2 1.0.0b2
2014.2.b3 1.0.0b3
2014.2.rc1 1.0.0rc1
2014.2 1.0.0
2014.2 - Bugfix #1 1.0.1
2014.2 - Bugfix #2 1.0.2
2015.1 1.1.0
2015.2 1.2.0
2016.1 2.1.0
2016.2 2.2.0
2017.1 3.1.0
2017.2 3.2.0

流程

1. 提交并合并一个补丁来更新库的版本。 此外,在setup.cfg中设置适当的分类器(例如,“开发状态:: 4 - Beta”或“开发状态:: 5 - Production/Stable”)。

2. 确保您要标记的本地提交确实存在于已发布的仓库中,并且具有相同的SHA。

3. 添加发布标签,例如“0.0.1”,并附带以下描述:“Marconi客户端版本0.0.1”;它应该由您的个人gpg密钥签名

git tag -s 0.0.1

4. 检查标签的正确性。 您希望确保SHA与上游仓库中的提交匹配:“git tag -v 0.0.1”。 您应该看到类似的内容

object 9e5323500646c98db712a1c322dd4342cd1d708a
type commit
tag 0.0.1
tagger kgriffs <kurt.griffiths@rackspace.com> 1399313788 -0500

Marconi client version 0.0.1

This is our first beta release supporting the entire v1.0 API. CLI
usage is still a work in progress, but applications can now code
against the entire v1.0 API by importing the marconiclient package.
gpg: Signature made Mon May  5 13:16:54 2014 CDT using RSA key ID AD4A3478
gpg: Good signature from "Kurt E. Griffiths (@ work) <kurt.griffiths@rackspace.com>"
gpg:                 aka "Kurt E. Griffiths <mail@kgriffs.com>"
gpg:                 aka "[jpeg image of size 25764]"

4. 将新标签推送到gerrit仓库。 确保只推送一个标签

git push gerrit 0.0.1

5. 现在转到http://status.openstack.org/zuul/,您应该看到类似的内容

Marconi-client-release.png


6. 当openstack/python-marconiclient消失时,该版本现在可用。 检查以下链接的正确版本


7. 转到launchpad中相应的系列(例如,https://launchpad.net/python-marconiclient/juno),并使用表格中的“立即发布”链接发布版本;以yyyy-mm-dd格式指定发布日期,并包含一些注释,例如

This package is available in pypi, just execute pip install marconi to install.
Tarball: http://tarballs.openstack.org/python-marconiclient/python-marconiclient-0.0.1.tar.gz

This is our first beta release supporting the entire v1.0 API. CLI
usage is still a work in progress, but applications can now code
against the entire v1.0 API by importing the marconiclient package.

8. 现在您应该将此版本的“Fix Commited”状态的所有bug更改为“Fix Released”

9. 使用“添加下载文件”链接将tarball上传到已发布的launchpad里程碑(https://launchpad.net/marconi/+milestone/juno-1)。 请注意,此链接仅在里程碑“发布”后才会出现。

10. 检查PyPI发布

 $ pip install python-marconiclient

11. 将下一个里程碑添加到系列中,或者如果处于周期结束,则启动一个新系列并添加第一个里程碑。 在添加新系列时,请务必将发布经理更改为“marconi-drivers”。

12. 向社区发送电子邮件!

服务器端发布

我们遵循标准流程:https://wiki.openstack.org/wiki/ReleaseTeam/How_To_Release