...
先在项目源码中删除 .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插件来管理版本就好:
...