svn項(xiàng)目版本分支管理_第1頁
svn項(xiàng)目版本分支管理_第2頁
svn項(xiàng)目版本分支管理_第3頁
svn項(xiàng)目版本分支管理_第4頁
svn項(xiàng)目版本分支管理_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1華信郵電咨詢設(shè)計(jì)研究院有限公司物謀道名 信本固華項(xiàng)目版本分支管理2華信郵電咨詢設(shè)計(jì)研究院有限公司物謀道名 信本固華問題問題目前公司配置管理在策略上采用的是不穩(wěn)定主干(unstable trunk) 模式,所有的項(xiàng)目都在同一主干上進(jìn)行修改,在每次上線后并沒有明確的stable分支版本。 1)、多個(gè)項(xiàng)目組開發(fā)人員都可能并發(fā)對同樣代碼進(jìn)行修改,造成了嚴(yán)重的代碼沖突問題。例如張三修改了a.java并上QA測試服務(wù)器,在QA測試過程中,李四也對a.java進(jìn)行修改并上QA,李四的代碼覆蓋了張三的代碼。由于是SCM人員并不清楚代碼沖突情況,這樣張三和李四的代碼上QA很容易相互影響,并很難查清具體原因。

2、2)、由于沒有明確stable分支版本,導(dǎo)致上QA、上生產(chǎn)只能采用增量更新,上QA、上生產(chǎn)出問題后的代碼回滾很麻煩,嚴(yán)重影響了測試、上線效率。對于生產(chǎn)環(huán)境運(yùn)行的代碼的具體版本并沒有明確的管理,導(dǎo)致生產(chǎn)系統(tǒng)出問題后要排查問題也很難查。 3)、由于核心基礎(chǔ)包沒有與上層應(yīng)用隔離,導(dǎo)致大家都會對核心包進(jìn)行修改,修改后代碼質(zhì)量并沒有有效控制。于是出現(xiàn)因?yàn)樾薷幕A(chǔ)包影響整個(gè)系統(tǒng)功能等現(xiàn)象。 3華信郵電咨詢設(shè)計(jì)研究院有限公司物謀道名 信本固華穩(wěn)定主干策略穩(wěn)定主干策略 使用主干作為穩(wěn)定版的發(fā)布。 bug的修改和新功能的增加,全部在分支上進(jìn)行。 緊急缺陷修改或新功能開發(fā)以分支隔離。 分支上的開發(fā)和測試完畢以后才

3、合并到主干。 主干上的每一次發(fā)布都做一個(gè)標(biāo)簽而不是分支。 每次發(fā)布的內(nèi)容調(diào)整起來比較容易。 缺點(diǎn)是分支合并所增加的成本。4華信郵電咨詢設(shè)計(jì)研究院有限公司物謀道名 信本固華現(xiàn)狀及解決途徑現(xiàn)狀及解決途徑 團(tuán)隊(duì)當(dāng)前情況:團(tuán)隊(duì)當(dāng)前情況: 1)新專業(yè)的不斷開發(fā),發(fā)布更新較為頻繁。 2)有固定的發(fā)布周期,同時(shí)也存在比較多的Bug。 3)修改任務(wù)通常比較小,改動(dòng)范圍通常不大,時(shí)間通常較短。 4)不同的功能模塊有不同的小組負(fù)責(zé),耦合度相對較低。 解決途徑:解決途徑: 1)、分支管理策略:采用適當(dāng)?shù)姆种Ч芾聿呗詠肀WC開發(fā)庫、測試庫、發(fā)布庫的隔離。 2)、適當(dāng)引入每日編譯、持續(xù)集成、Code Review等敏捷開

4、發(fā)的最佳實(shí)踐。5華信郵電咨詢設(shè)計(jì)研究院有限公司物謀道名 信本固華TrunkR1.0版本發(fā)布版本發(fā)布建立開發(fā)分支建立開發(fā)分支1建立開發(fā)分支建立開發(fā)分支2主干復(fù)制測試分支主干復(fù)制測試分支合并合并bug bug fixfix測試發(fā)布測試發(fā)布A合并合并tag01B1.1.3集成集成緊急缺陷測試分支緊急缺陷測試分支Hotfix測試發(fā)布測試發(fā)布B合并合并tag02主干時(shí)刻處于穩(wěn)定狀態(tài),隨時(shí)可以發(fā)布主干時(shí)刻處于穩(wěn)定狀態(tài),隨時(shí)可以發(fā)布B1.1.4集成集成測試分支測試分支bug bug fixfix合并合并測試發(fā)布測試發(fā)布Ctag03V1.1發(fā)布發(fā)布合并合并改進(jìn)的版本分支管理方案改進(jìn)的版本分支管理方案6華信郵電

5、咨詢設(shè)計(jì)研究院有限公司物謀道名 信本固華1、主干時(shí)刻處于穩(wěn)定狀態(tài),隨時(shí)可以發(fā)布。設(shè)SCM人員對主干代碼進(jìn)行管理,普通開發(fā)人員只讀。2、SCM為開發(fā)任務(wù)建立開發(fā)分支。常規(guī)的可以以小組為單位建立分支,較大的任務(wù)可以建立專門的分支。3、B版本集成之日或提前,從主干復(fù)制一個(gè)測試分支,包含在該版本的各開發(fā)分支向此測試分支合并。4、對測試分支代碼進(jìn)行測試,出現(xiàn)bug在測試分支上更改,無誤后發(fā)布。5、測試分支代碼發(fā)布后,合并入主干,并在主干上進(jìn)行標(biāo)記。6、對緊急修復(fù)(Hotfix)的情況,可以從主干復(fù)制出測試分支,在測試分支上進(jìn)行緊急修改,并在測試后發(fā)布,發(fā)布后同樣將代碼合并會主干,做標(biāo)記(Hotfix僅限

6、于可以很快解決的小問題,如果更改時(shí)間過長,則需采用常規(guī)方法完成)。7、如果在測試分支測試過程中需要Hotfix工作,則再復(fù)制一個(gè)新的測試分支進(jìn)行Hotfix ,測試后發(fā)布。然后同時(shí)合并入原測試分支和主干,并在主干上做標(biāo)記(此過程未在上圖中畫出)。9、測試分支發(fā)布后,開發(fā)分支可以刪除;測試分支合并入主干后,測試分支可以定期刪除。實(shí)施過程實(shí)施過程7華信郵電咨詢設(shè)計(jì)研究院有限公司物謀道名 信本固華l 方案優(yōu)點(diǎn) 解決了沒有實(shí)施分支策略時(shí),代碼不能經(jīng)常簽入的問題。 主干代碼始終處于穩(wěn)定的狀態(tài)隨時(shí)可以發(fā)布,降低了風(fēng)險(xiǎn)。 可以基于一個(gè)完整的測試分支進(jìn)行測試及發(fā)布,而不是以口口相傳的方式增量更新。l方案缺點(diǎn) 建立分支、合并分支增加了工作量。考慮實(shí)際情況,以及版本控制工具的輔助,增加的工作量應(yīng)該可以接受。 如果某些開發(fā)分支工期跨越多個(gè)發(fā)布周期,修

溫馨提示

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

最新文檔

評論

0/150

提交評論