...
接下来手动上传上述内容,上传链接 http://keys.gnupg.net
到现在应该能查到了。。。
c.2 寻找你认识的Apache社区的Committer来给你的公钥认证(可选)寻找你认识的Apache社区的Committer来给你的公钥认证
参考链接 https://gist.github.com/F21/b0e8c62c49dfab267ff1d0c6af39ab84 主要都是对方有事情要做,所以就不详细解释了。
...
$ svn co https://dist.apache.org/repos/dist/dev/incubator/iotdb iotdb-dist-dev
这个步骤比较慢,会把所有版本都考下来,如果网断了,用 svn cleanup 删掉锁,重新执行一下,会断点续传的。。。
$ cd iotdb-dist-dev
$ (gpg2 --list-sigs YOUR_NAME@apache.org && gpg2 --export --armor YOUR_NAME@apache.org) >> KEYS
$ svn ci -m "add gpg key for YOUR_NAME"
接下来会输用户名和密码,就用 apache的用户名和密码。
d.2 在release坟之中添加公钥到KEYS,用于发布正式版本
注意,以下命令又会建个 iotdb-dist-release的文件夹,最好 cd .. 到 iotdb-dist-dev 的上级目录
$ svn co https://dist.apache.org/repos/dist/release/incubator/iotdb iotdb-dist-release
...
!然后!务必检查所有的版本是否正确。比如如果你是从0.8.0升级成0.8.1,那就:
- 搜索 /0.8.0/ (包含左右两边的”/“),这样可以把所有文档中的链接替换成“),这样可以把所有文档中的链接替换成/0.8.1/
- 搜索0.8.0,检查所有文档中出现的和00,检查所有文档中出现的和0.8.0版本相关的功能描述是否正确,并修改为0.8.1
- 搜索0.8.0,注意Java代码中的控制台输出是否需要修改(例如CLI会打印版本号)0,注意Java代码中的控制台输出是否需要修改(例如CLI会打印版本号)
- 注意TsFile的magic number不一定要修改。这个需要讨论着来。
- 所有 pom 里的 version 的 -SNAPSHOT 不要去掉,去掉之后下边的命令会报错。
然后开始正式的发版。
3.发布版本
3.1 自动在github上打tag,并生成各种签名文件
...
这个过程会自动地把pom中版本的“-SNAPSHOT”删除,然后在云端创建tag。
并且本地的所有pom文件都会出现一个同名的以releaseBackup为结尾的文件。
如果一切成功,恭喜!
如果不成功,要看一看原因。我遇到的问题是对于github仓库没有权限。
如果发生了失败,先执行:
$ mvn release:rollback
如果执行也失败,就再执行一次。。一般就成功了。
然而这个rollback并不会删除你本地刚才自动创建的tag,所以要手动删除,例如:$git tag -d release/0.8.1
删除远端tag:git push origin :refs/tags/release/0.8.1
最后会提示 success,并且除了第一个parent 的pom,其他的都 skippted 了。
如果成功了,根据PLC4X的文档,还应该去apache的仓库看一看是否有最新的记录。地址是 https://如果成功了,根据PLC4X的文档,还应该去apache的仓库看一看是否有最新的记录。地址是 https://gitbox.apache.org/repos/asf?p=incubator-iotdb.git;a=shortlog;h=refs/heads/rel/0.8 注意分支名。
应该能看到刚才mvn release:prepare自动做的git操作,commit日志是:[maven-release-plugin] prepare release release/0.8.1 和 [maven-release-plugin] prepare for next development iteration
另外,如果成功,在本地的目录下,有如下文件生成:另外如果成功,在本地的目录下,有如下文件生成:
target目录下:
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
...
进行下验证吧(不是必须操作):
gpg2 --verify target/apache-iotdb-0.8.1-incubating-source-release.zip.asc target/apache-iotdb-0.8.1-incubating-source-release.zip
gpg2 --verify distribution/target/apache-iotdb-0.8.1-incubating-bin.zip.asc distribution/target/apache-iotdb-0.8.1-incubating-bin.zip
shasum -a512 target/apache-iotdb-0.8.1-incubating-source-release.zip
shasum -a512 distribution/target/apache-iotdb-0.8.1-incubating-bin.zip
然后和.sha512文件对比下,确认一致。
如果一切成功,恭喜!
如果不成功,要看一看原因。我遇到的问题是对于github仓库没有权限。
不管成功与否本地的所有pom文件都会出现一个同名的以releaseBackup为结尾的文件。
如果发生了失败,先执行:
$ mvn release:rollback
如果执行也失败,就再执行一次。。一般就成功了。
然而这个rollback并不会删除你本地刚才自动创建的tag,所以要手动删除,例如:$git tag -d release/0.8.1
删除远端tag:git push origin :refs/tags/release/0.8.1
3.2 从github上下载下来源码,并重新编译后上传到Apache Nexus仓库
...
首先网页打开网站 https://repository.apache.org (一直转圈加载不出来就关了重开几次)
然后点右上角的登录!用apache账号登录。
登录成功后,你的左边栏的Repositories就会出现 Staging Repositories,点击他,能看到如下图的列表,找到项目名字为 “orgapacheiotdb-数字” 这样的一行,选中后点击上方的close按钮。
然后就开始等待完成close,期间可以点击refresh更新页面。也可以选中iotdb后,点击下方的activity,来查看具体的close进度和问题。
...
到https://github.com/apache/incubator-iotdb/releases,找到刚打的release,点击edit,选中这是个pre,找到刚打的release,点击edit tag ,选中 This is a pre-release ,然后保存。然后 Save draft。
3.5 写邮件
邮件标题:[VOTE] Apache IoTDB 0.8.1 (incubating) RC2 release
...