...
(注意:本文是如何作为一个新RM的实践指导,因此并未对所有步骤进行“为什么需要这个步骤”的解释)
本文大量参考了如下教程:
1. 创建一个 gpg KEY
对于第一次当RM的人来说,需要将进行这个步骤。
...
Code Block | ||||
---|---|---|---|---|
| ||||
<?xml version="1.0" encoding="UTF-8"?> <settings xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.1.0 http://maven.apache.org/xsd/settings-1.1.0.xsd" xmlns="http://maven.apache.org/SETTINGS/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <servers> <!-- Apache Repo Settings --> <server> <id>apache.snapshots.https</id> <username>{user-id}</username> <password>{user-pass}</password> </server> <server> <id>apache.releases.https</id> <username>{user-id}</username> <password>{user-pass}</password> </server> </servers> </settings> <profiles> <profile> <id>apache-release</id> <properties> <gpg.keyname>你的KEYID</gpg.keyname><!-- Your GPG Keyname here --> <!-- Use an agent: Prevents being asked for the password during the build --> <gpg.useagent>true</gpg.useagent> <gpg.passphrase>你的私钥的密码</gpg.passphrase> </properties> </profile> </profiles> |
f. 上传GPG公钥到Github账户上传GPG公钥到Github账户s v
!!重要!! 许多教程中都没提及这一步,而如果不坐着一步的话,你在做一些步骤的时候,maven会告诉你没有权限。。
...
然后开始修改各种投票中大家发现的问题。并提交到rel/0.8.
之后跳转到步骤3重新开始。
5. 投票通过后怎么办
在孵化器阶段,需要发邮件给general邮件列表,交给IPMC们投票,通过后才可以。
6. General列表投票也通过后怎么办
把发布好的文件从dev仓库中移动到release的svn项目中。
release的svn地址是:https://dist.apache.org/repos/dist/release/incubator/iotdb
如果第一次的话,可以clone这个仓库,然后增加文件,然后提交。
$svn co https://dist.apache.org/repos/dist/release/incubator/iotdb
$cd iotdb
$拷贝文件过来,放在 版本-incubating下,例如 下面的0.8.1-incubating就是我刚刚放过去的。
MacBook-Pro-3:iotdb-rel hxd$ tree .
.
├── 0.8.0-incubating
│ ├── README.md
│ ├── RELEASE_NOTES.md
│ ├── apache-iotdb-0.8.0-incubating-bin.zip
│ ├── apache-iotdb-0.8.0-incubating-bin.zip.asc
│ ├── apache-iotdb-0.8.0-incubating-bin.zip.sha512
│ ├── apache-iotdb-0.8.0-incubating-source-release.zip
│ ├── apache-iotdb-0.8.0-incubating-source-release.zip.asc
│ └── apache-iotdb-0.8.0-incubating-source-release.zip.sha512
├── 0.8.1-incubating
│ ├── README.md
│ ├── RELEASE_NOTES.md
│ ├── apache-iotdb-0.8.1-incubating-bin.zip
│ ├── apache-iotdb-0.8.1-incubating-bin.zip.asc
│ ├── apache-iotdb-0.8.1-incubating-bin.zip.sha512
│ ├── apache-iotdb-0.8.1-incubating-source-release.zip
│ ├── apache-iotdb-0.8.1-incubating-source-release.zip.asc
│ └── apache-iotdb-0.8.1-incubating-source-release.zip.sha512
└── KEYS
然后提交:
$svn add 0.8.1-incubating
$svn commit -m "upload 0.8.1 release files"
如果你的keys也修改了,可能还要在更新下keys文件。
注意:所有的apache 镜像都会开始同步这些文件了,一般会在24小时内同步完成。之后就可以发声明邮件了。
7. 删除旧版本的发布文件
Apache似乎要求当新版本都同步好后,删除掉旧版本的文件(例如本例中是0.8.0-incubating),但是我查看了几个项目,这个不是绝对要求的。。建议保留一些版本。
删除方法是用 svn delete命令删除文件夹即可。
例如:$svn delete https://dist.apache.org/repos/dist/release/incubator/iotdb/0.8.0-incubating/ -m"deleted version 0.8.0"
8. 正式发布Maven文件
进入https://repository.apache.org/#welcome,登录账号,然后到Staging Repositories中选中你之前close的版本,选择release。完事儿。
9. 将release分支的代码更新到最新
我们项目中,release分支始终指向最新的发布版本。
git checkout release
git merge release/0.8.1
如果有有冲突,那么全盘接收tag上的修改,可以使用如下命令:
git merge -X theirs release/0.8.1
10. 更新JIRA
Set the released version to "released" and set the "release-date"
Add the next version to the versions.
目前我没有权限,所以还没测试
11. 更新官网的下载链接
12. 昭告天下!
当你确认多数镜像都同步好了之后,可以昭告天下发布新版本的信息了:
发邮件的邮箱:务必是apache.org的邮箱,否则会被拒收。
发送邮件到:announce@apache.org
抄送邮件到:dev@iotdb.apache.org
消息主题:[ANNOUNCE] Apache IoTDB (incubating) 0.8.1 released
消息内容示例:
The Apache PLC4X team is pleased to announce the release of Apache PLC4X 0.6.0
PLC4X is a set of libraries for communicating with industrial programmable
logic controllers (PLCs) using a variety of protocols but with a shared API.
The current release contains drivers able to communicate with industrial PLCs using one of the following protocols:
* Siemens S7 (0x32)
* Beckhoff ADS
* Modbus
* EtherNet/IP
Beyond that we also provide integration modules for the following Apache projects and frameworks:
* Apache Edgent (Incubating)
* Apache Camel
* Apache Kafka (Kafka Connect)
Visit the Apache PLC4X website [1] for general information or
the downloads page [2] for release notes and download information.
Regards,
The Apache PLC4X team
[1] http://plc4x.apache.org
[2] http://plc4x.apache.org/users/download.html
That is all.