maven版本管理


maven版本管理

版本管理(Version Management): 項目整體版本的演變過程管理.如1.0-SNAPSHOT -> 1.0 -> 1.1-SNAPSHOT
版本控制(Version Control): 指借助版本控制工具(svn,git)追蹤代碼的每一次變更.

版本管理

發布版(Release): 版本可定位到的唯一構建.
快照(Snapshot): 定位的構建可隨時變化的版本

發布版本要求:

  1. 所有自動化測試應當全部通過
  2. 項目沒有配置任何快照版本的依賴
  3. 項目沒有配置任何快照版本的插件
  4. 項目所包含的代碼已經全部提交到版本控制系統中

版本管理流程:

  1. 發布快照版本1.0-SNAPSHOT
  2. 快照版本功能實現,並滿足發布版本要求后,生成發布版本1.0
  3. 打標簽關聯發布版本與版本控制源碼.發布版本應該在版本控制系統中增加標簽,進行定位發布版本,便於源碼定位以及版本對比,乃至構建重新生成;
  4. 進入新的快照版本1.1-SNAPSHOT
    ...

版本號約定:

1.3.4-beta-2

含義:產品的第一個重大版本(1)的第三個次要版本(3)的第四次增量版本(4)的beta-2里程碑

約定格式:

<主版本>.<次版本>.<增量版本>-<里程碑版本>

主版本: 項目的重大架構變更.如jdk8到jdk9
次版本: 較大范圍的功能增加和變化及bug修復.但總體架構上變化不大.如jdk9到jdk10
增量版本: (可選)一般表示重大bug的修復.
里程碑版本: (可選)某一個版本的里程碑.這樣的版本與正式的版本相比,往往不穩定,還需要很多測試.

版本控制

主干(trunk): 項目開發代碼的主體,從項目開始直到當前都處於活動的狀態.
分支(branch): 從主干的某個點分離出來的代碼拷貝,通常可在不影響主干的前提下,在這里進行重大bug修復,或進行一些實驗性的開發.分支開發達到預期,需要合並(merge)到主干中
標簽(tag): 用來標識主干或分支的某個點的狀態,以代表項目的某個穩定狀態,這通常就是版本發布時的狀態.

流程自動化

支持自動化發布版本發布
自動化生成分支
自動化生成標簽


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM