版本控制指引_第1頁
版本控制指引_第2頁
版本控制指引_第3頁
版本控制指引_第4頁
版本控制指引_第5頁
已閱讀5頁,還剩5頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

版本控制指引概念產品版本項目/子項目所定義的版本,兩節:x.y。如智計劃1.2,那么這個產品版本號為1.2。工程版本代碼構建產物的版本。工程版本號通常為四節,x.y.z.build。x.y繼承產品版本號;z在敏捷項目團隊中是沖刺編號,在瀑布團隊中為流水號。該節用于區分不同的研發、上線周期;build為構建流水號,通常由構建工具自動生成。測試代碼同樣也有工程版本號。目前測試代碼沒有發布流程,也沒有通過工具發布,所以z.build由測試團隊人員自行決定。原則上每一次正式交付,變更z。發布標簽每一次發布到生產,在git代碼庫中,給對應的commit標記一個標簽,值為部署物的工程版本,即x.zy.z.build。目標統一分支管理策略以及定義。版本化一切,最終提高項目的團隊合作效率、加速新功能開發和發布管理。原則采用GitHubFlow策略(推薦)或基于主干開發策略。要求項目有完善的自動化測試、持續集成和部署等相關的基礎設施。版本化一切。團隊有代碼審查的相應流程。具備自動部署的條件規范代碼倉庫必須:代碼應放在集團統一的代碼倉庫。必須:工程的可見性不能設置為public。必須:只允許給項目相關開發人員配置權限,并應該遵循最小授權原則。必須:代碼項目創建在團隊空間內,不允許放在個人空間。建議:團隊空間命名格式為:group/[subgroup]。group為產品線簡稱,如果產品線有多個子產品,再加上subgroup。subgroup為子產品簡稱。如gaia/gfs,group=gaia,subgroup=gfs。建議:代碼項目命名格式為:項目代號-模塊[-子模塊][-孫模塊]。如:gaia-gfs-demo,halo-wechat。這樣,GIT中完整的空間-項目名為:gaia/gfs/gaia-gfs-demo。分支命名【GitHubFlow】必須:master分支被保護,不允許直接提交至master。必須:創建分支使用有意義的名稱頭,功能開發用feature/{JIRA編號}-*,bug修復用bug/{JIRA編號}-*,熱修復用hotfix/{JIRA編號}-*。如feature/XM1907901-1390-enable_audit_log_for_inventory,bug/XM1907901-1403-xxxxxxx。建議:創建分支開始后,就創建一個MR,用于描述思路,并記錄討論過程。建議:未完成的MR以WIP:開頭,如:“WIP:用戶1分鐘未有動作,自動鎖屏”。必須:至少有一個成員同意合并,才允許合并分支。建議:合并分支時,使用--squash,或選中gitlab界面上的"[X]Squashcommitswhenmergerequestisaccepted"。版本必須:每一次準備發布生產的交付物,打上發布標簽,并記錄ReleaseNotes。建議:數據庫有版本號。不同版本的數據庫變更腳本,支持冪等操作,以便自動化完成升級/降級。建議:測試用例、測試數據也有版本號,要么和代碼工程版本一致,要么自定義,和代碼工程版本有對應關系。建議:推薦使用Flyway,EntityFrameworkMigrations來管理DB版本。推薦實踐版本號使用場景敏捷項目沖刺開始,定義本沖刺版本的前三節。提交、解決、關閉bug時,正確填入了DevOps中對應的工程版本號。DevOps構建時,根據前三節,自動補充最后一節的編譯流水號。發布至生產環境時,DevOps根據工程版本,自動生成tag標簽。如果只通過DevOps部署,則沒有沖刺版本。DevOps根據產品版本,自動加上制品的上傳批次號,如1.2.13,以追蹤各環境和不同版本部署物的對應關系。假設場景項目名稱開發啟動時間移交測試時間回歸時間上線時間XX項目9月1日9月15日9月25日9月26日開發流程序號時間事項描述命令說明19月1日從master新建分支從master創建分支。分支名稱:

feature/11-Add_redis_supportgitcheckoutmastergitpullgitcheckout-bfeature/11-add_redis_supportgitpush--set-upstreamoriginfeature/11-add_redis_support所有參與人員都提交到此分支29月2日設計、編寫代碼與測試提交、提交、提交gitadd--allgitcommit-a-m"movedisplaynametoredis"gitpush39月3日開啟MR,以開啟討論和Review從gitlab的站點中創建一個MR。如果并未做完,MR以"WIP:"開頭49月15日討論、修改、測試討論方案、修正review的改進項。gitadd.59月16日循環修復bug并不斷push到遠程分支。gitcommit-am"moveonandon"6……每日mergemaster代碼到分支。gitmergemaster79月25日自動化、人工驗收全部通過,MR通過master代碼可以發布時,打上版本號標簽,1.1.0gittagadd"1.1.0"gitpush--tag選中"Squashcommitswhenmergerequest

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論