...
3.1 自动在github上打tag,并生成各种签名文件
先在项目源码中删除 .mvn/wrapper/*.jar
还要删除 data 目录
执行:
$ mvn release:prepare -DautoVersionSubmodules=true
...
gpg2 --verify target/apache-iotdb-0.89.10-incubating-source-release.zip.asc target/apache-iotdb-0.89.10-incubating-source-release.zip
gpg2 --verify distribution/target/apache-iotdb-0.89.10-incubating-bin.zip.asc distribution/target/apache-iotdb-0.89.10-incubating-bin.zip
shasum -a512 target/apache-iotdb-0.89.10-incubating-source-release.zip
shasum -a512 distribution/target/apache-iotdb-0.89.10-incubating-bin.zip
然后和.sha512文件对比下,确认一致。
...
如果不成功,要看一看原因。我遇到的问题是对于github仓库没有权限。
还有可能本地库推不上去,需要重新merge一下远程分支
不管成功与否本地的所有pom文件都会出现一个同名的以releaseBackup为结尾的文件。
...
登录成功后,你的左边栏的Repositories就会出现 Staging Repositories,点击他,能看到如下图的列表,找到项目名字为 “orgapacheiotdb-数字” 这样的一行,选中后点击上方的close按钮。这样的一行,选中后点击上方的close按钮。
然后就开始等待完成close,期间可以点击refresh更新页面。也可以选中iotdb后,点击下方的activity,来查看具体的close进度和问题。
都没问题后就开始下一步。
如果close失败了,可以再 close 一下。我遇到了没有找到我的 公钥的问题,但是其实网上可以搜到,再close 一次就可以了。
3.3 上传编译好的文件到dist网站
现在可以把需要的内容都上传到dist了。
...
然后用svn命令提交:
$ svn add 0.8.1
如果这个目录以及添加了,需要添加 svn add 0.9.0/rc2
$ svn commit -m "perparing RC1 of 0.8.1 of IoTDB release"
...
4 投票失败了怎么办
投票失败时,需要先清理战场,然后重新发布。
首先把Nexus上的发布关闭掉,方法是登录到repository首先把Nexus上的发布关闭掉,方法是登录到 repository.apache.org后,然后选中刚才的行,点击close按钮。org 后,然后选中刚才的行,点击 Drop 按钮。
然后手动删除github上的release和tag,以及本地的tag。
...