Git中含Submodule时Maven项目如何release

来源:互联网 发布:约瑟夫环用到什么算法 编辑:程序博客网 时间:2024/06/14 03:46

Maven有个release插件,使用它完成发布的流程是:

mvn release:clean release:prepare -DpreparationGoals=clean

mvn release:perform -Dgoals="deploy -Dmaven.test.skip=true"

mvn release:clean

但当使用Git管理源码,并且存在子模块时,maven-release-plugin是无法正常工作的。此时我们只有手动干活。比如现在版本为4.1.0-SNAPSHOT,需要发布4.1.0,并将源码升级到4.2.0-SNAPSHOT,可按以下步骤工作:

1:将所有pom.xml的版本号由4.1.0-SNAPSHOT改成4.1.0:

sed -i 's/4.1.0-SNAPSHOT/4.1.0/g' `find | grep pom.xml`

2:所有的子模块,git reset --hard,忽略版本的修改;

3:提交修改

git commit -a -m "发布4.1.0"

git push

4:添加tag

git tag -a 4.1.0 -m "发布版本4.1.0"

git push --tags

5:发布4.1.0:

mvn -T3 clean deploy -Dmaven.test.skip=true

6:将所有pom.xml的版本号由4.1.0改成4.2.0-SNAPSHOT:

sed -i 's/4.1.0/4.2.0-SNAPSHOT/g' `find | grep pom.xml`

7:提交修改

git commit -a -m "准备4.2.0-SNAPSHOT"

git push

原创粉丝点击