Maven版本管理
阿新 • • 發佈:2019-01-27
Maven2有版本2.0.9、2.0.10等各個版本,Maven3有3.0-alpha-1、3.0-beta-1等版本,這些版本中的每個數字代表了什麼意思?alpha、beta是什麼意思?快照版本和釋出版本的區別是什麼?如何科學的管理專案版本。
Maven的版本號定義約定
<主版本>.<次版本>.<增量版本>-<里程碑版本>
示例:1.3.5-beta-2
“1”:表示該版本是第一個重大版本
“3”:表示這是基於重大版本的第三個次要版本
“5”:表示該次要版本的第五個增量版本
“beta-2”:表示增量的一個里程碑版本
自動化版本釋出
Maven Release Plugin提供這樣的功能,主要有三個目標:
- release:prepare 準備版本釋出,依次執行下列操作。
程式碼有未提交
是否有快照版本依賴
根據使用者輸入讓快照版本升級為釋出版本
將POM中的SCM資訊更新為標籤地址
基於修改後的POM執行Maven構建
提交POM變更
基於使用者輸入為程式碼打標籤
將程式碼從釋出版本升級為新的快照版本
提價POM變更 - release:rollback
回退release:prepare所執行的操作。將POM回退至release:prepare之前的狀態,並提交。需要注意的是,該步驟不會刪除release:prepare生成的標籤,需要手工刪除 - release:perform
執行版本釋出。簽出release:prepare生成的標籤中的原始碼,並在此基礎上執行mvn deploy命令打包並部署構建至倉庫。
GPG簽名
當從中央倉庫下載第三方構建的時候,可能會想要驗證這些檔案的合法性。例如它是由開源專案官方釋出的,並且沒有被篡改過。
GPG(Pretty Good Privacy)就是這樣一個用來提高安全性的技術。PGP最常用來給電子郵件進行加密、解密以及提供簽名,以提高電子郵件交流的安全性。
GnuPG(簡稱GPG,官網地址http://www.gnupg.org/)是PGP標準的一個免費實現。GPG能夠幫助我們為檔案生成簽名、管理金鑰以及驗證簽名等。