SOA治理系統中mvn版本號管理經驗總結
阿新 • • 發佈:2018-11-05
版本號
在SOA系統治理中,多系統之間使用RPC呼叫框架(dubbo)通訊,通常會用到mvn兩方包,那麼mvn版本號何時進行升級,如何升級?
何時升級
- 請求物件結構變更;
- 請求物件新增;
- 介面方法簽名更改;
- 介面方法新增;
升級版本的好處:
1. 可以不影響當前主幹版本的小問題修復分支釋出;
2. 清楚的知道版本之間的差異,可以提前預估新版本的影響範圍;
如何升級
- 首先考慮升級版本後對歷史服務的相容性,以及影響到的應用!
- 工具使用mvn版本號管理外掛
<plugin>
<groupId >org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.3</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>
// 根據根POM的版本號修改各子模組的版本號
mvn -N versions:update-child -modules
// 注意一定要 deploy 根POM檔案到私服
mvn deploy:deploy-file -DpomFile=pom.xml -DgroupId=com.alitrip.test -DartifactId=test-all -Dfile=./pom.xml -Durl=http://mvnrepo.alibaba-inc.com/mvn/snapshots -DrepositoryId=snapshots
技巧
- 所有的版本號交由根POM中的管理,方便統一修改版本號;
- 所有的子模組統一繼承根POM的版本號
<parent>
<artifactId >test-parent</artifactId>
<groupId>com.alitrip.parent</groupId>
<version>1.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>test-service</artifactId>
<packaging>jar</packaging>
<name>test-service</name>
<url>http://maven.apache.org</url>