Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

接下来手动上传上述内容,上传链接  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按钮。

Image RemovedImage Added

然后就开始等待完成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

...