如何发布
所有 Apache 项目都必须遵循 Apache Release Policy 。本文可以帮助你了解政策以及如何在 Apache 上发布项目。
发布流程
- 如果没有 GPG 密钥,请创建一个。
- 将发布物料上传到 svn 仓库。
- 验证发布物料。
- 开始投票。
- 宣布投票结果和发布。
创建 GPG 密钥
如果没有 GPG 密钥,请创建一个。您可以按照这里的说明进行操作。
# 创建 GPG 密钥
$ gpg --full-generate-key
# 列出 GPG 密钥
$ gpg --keyid-format SHORT --list-keys
# 将 GPG 密钥上传到密钥服务器,xxx 是 GPG 密钥 id
$ gpg --keyserver keyserver.ubuntu.com --send-key xxx
# 将 GPG 密钥附加到 svn 仓库中的 KEYS 文件
$ svn co https://dist.apache.org/repos/dist/release/answer/
$ (gpg --list-sigs xxx@apache.org && gpg --export --armor xxx@apache.org) >> KEYS
$ svn ci -m "add gpg key"
将发布物料上传到 svn 仓库
准备所有发布物料
- 在 git 仓库中创建 RC 标签并编写发布说明。
- 注意 1: 请记住在点击"发布版本"之前选择"设置为预发布"。
- 注意 2: 发布说明应选择非分支的标签,例如
v1.2.0-RC1
。
- 构建发布物料(捆绑包、源代码归档等)。
签名发布物料
使用 GPG 密钥对发布物料进行签名。请仔细检查二进制文件是否完整,避免出现大小为 0 的情况。
# 签名发布物料,xxxx 是 xxx@apache.org
$ for i in *.tar.gz; do echo $i; gpg --local-user xxxx --armor --output $i.asc --detach-sig $i ; done