Versions Compared

Key

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

...

先在项目源码中删除  .mvn/wrapper/*.jar   

还要删除 删除可能的 data 目录,保证本地没有 目录

保证本地没有 iotdb server在运行,不然测试会端口占用。server在运行,不然测试会端口占用

再确认一下现在在 rel/0.9 分支,别在 master 分支

merge 一下远程 rel/0.9 分支,确保现在的本地分支是最新的


执行:

$ mvn release:prepare -DautoVersionSubmodules=true

...

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

进行下验证吧(不是必须操作):验证!有问题赶紧改,这里还有悔过的机会,不然RC++

gpg2 --verify target/apache-iotdb-0.9.0-incubating-source-release.zip.asc target/apache-iotdb-0.9.0-incubating-source-release.zip

gpg2 --verify distribution/target/apache-iotdb-0.9.0-incubating-bin.zip.asc distribution/target/apache-iotdb-0.9.0-incubating-bin.zip

shasum -a512 target/apache-iotdb-0.9.0-incubating-source-release.zip

shasum -a512 distribution/target/apache-iotdb-0.9.0-incubating-bin.zip

然后和.sha512文件对比下,确认一致。

如果一切成功,恭喜!

如果不成功,要看一看原因。我遇到的问题是对于github仓库没有权限。

-iotdb-0.9.0-incubating-bin.zip

然后和.sha512文件对比下,确认一致。


检查一下源码包和二进制包的大小,源码包是几M,二进制包是十几M都是合理的,不然检查是不是打进去了其他东西

在源码包里 ./mvnw clean install 

在二进制包里 ./sbin/start-server.sh    ./sbin/start-client.sh  ,检查一下版本号,跑一些测试语句:

SET STORAGE GROUP TO root.ChangSha;
CREATE TIMESERIES root.ChangSha.A.aa WITH DATATYPE=INT64, ENCODING=RLE;
CREATE TIMESERIES root.ChangSha WITH DATATYPE=INT64, ENCODING=RLE;
CREATE TIMESERIES root.ChangSha.A.ac WITH DATATYPE=INT64, ENCODING=RLE;
CREATE TIMESERIES root.ChangSha.B.aa WITH DATATYPE=INT64, ENCODING=RLE;
CREATE TIMESERIES root.ChangSha.B.ab WITH DATATYPE=INT64, ENCODING=RLE;
CREATE TIMESERIES root.ChangSha.B.ad WITH DATATYPE=INT64, ENCODING=RLE;
insert into root.ChangSha.A(timestamp,aa,ab,ac) values(1,1,1,1);

insert into root.ChangSha.A(timestamp,aa,ab,ac) values(3,1,1,1);
insert into root.ChangSha.B(timestamp,aa,ab,ad) values(1,1,2,2);
insert into root.ChangSha.B(timestamp,aa,ab,ad) values(2,1,2,2);
select * from root.ChangSha.* where time=1 and aa=1

如果一切成功,恭喜!


不成功可能的原因:

(1)对于github仓库没有权限。

(2)本地库比远程库要旧,需要重新merge一下远程分支还有可能本地库推不上去,需要重新merge一下远程分支


不管成功与否本地的所有pom文件都会出现一个同名的以releaseBackup为结尾的文件。

...

$ mvn release:rollback

如果执行也失败,就再执行一次。。一般就成功了。

然而这个rollback并不会删除tag,还需要手动删除。

然而这个rollback并不会删除你本地刚才自动创建的tag,所以要手动删除,例如:$git 删本地 tag:$git tag -d release/0.8.1

删除远端tag:git 删远端 tag:git push origin :refs/tags/release/0.8.1

...

首先把Nexus上的发布关闭掉,方法是登录到 repository.apache.org 后,然后选中刚才的行,点击 Drop 按钮。

然后手动删除github上的release和tag,以及本地的tag。

删除远端tag:git 删除远端 tag:git push origin :refs/tags/release/0.8.1

本地的tag删除方法:

$git 删除本地 tag:git tag -d release/0.8.1


然后使用maven插件来管理版本就好:

...