svn+maven 生成hotfix打包的版本號無法自動更新

目前所在的項目一直使用svn+maven+jenkins的管理方式,也基本能夠滿足項目的使用需要。
前面的博客說過,項目經過規範之後,產線的hotfix採用從tags下面拉取brunch分支的方式。由於項目的測試環節比較嚴格,規範之後還沒有出現過產線需要緊急hotfix的情況,但是第一次拉取就出了問題。

場景復現

從tags拉取分支複製到brunch下的目錄,在jenkins上搭建brunch分支的job,執行構建命令,然後去版本庫查看版本。發現版本號沒有自動+1生成3.2.82版本,原有的3.2.81版本被覆蓋。當時我就一驚……

排錯過程

首先檢查了brunch分支上pom文件的版本號,發現版本號是3.2.82-snapshot,然後我就懷疑是版本號沒寫對。然後在jenkins上重新構建了一次。結果是再次生成3.2.81版本,pom文件沒有變化。
然後檢查jenkins的構建命令,沒有任何問題。
然後檢查jenkins分支的對應關係,沒有任何問題。
然後求助搜索引擎,沒有有價值的信息。
好像看不到出路了…..
笨辦法,去查看jenkins構建命令的全部控制檯輸出,此時發現了一個奇怪的問題:
jenkins在構建的時候上傳和下載的路徑都指向了tags下版本快照,沒有指向brunch修改的代碼。機智的我立刻打開了brunch下面的pom文件,果然,maven在打包時生成的快照地址配置那裏是寫死的,指定了版本號和路徑………

解決

修改pom文件的路徑

<scm>
        <connection>brunch地址</connection>
        <developerConnection>brunch地址</developerConnection>
        <url>brunch地址</url>     
    </scm>

再次執行構建命令,正常生成3.2.82版本,問題解決。

雖然是個小問題,但確實也是自己基礎知識不牢靠,對maven的構建機制不夠熟悉造成的,還是要多學點東西。

發佈了34 篇原創文章 · 獲贊 17 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章