天天看點

開發與測試整體過程中的Git分支merge流程開發與測試整體過程中的Git分支merge流程

         

開發與測試整體過程中的Git分支merge流程開發與測試整體過程中的Git分支merge流程

首先在Gitlab上有個倉庫存儲着原始的項目代碼,其中包含一個叫master的分支。然後可能按功能進行配置設定,由不同的開發人員分别将master分支拉出來改作其新的開發分支,比如叫func1分支、func2分支之類的名字。

對應的QA負責測試各自對應開發所寫的功能子產品,假設有QA兩名,分别為tester1和tester2,當他們接到各自開發dev1和dev2寫的兩個分支func1分支和func2分支後:

1. 如果二人在不同的環境上測試,則分别拉出來master分支成為其新的test分支——test1分支和test2分支,并将對應的func1和func2分支代碼與自己建立的test1和test2分支代碼進行merge;

2. 如果兩人共用一個環境進行測試,且事先沒有建立test分支,則首先拉出來master分支成為新的test分支,然後将func1和func2分支的代碼與test分支的代碼進行merge。

至此測試環境上已經有merge好的可供測試的代碼分支,我們可以對測試環境進行部署并進行第一輪測試。

第一輪測試過程中,如果發現問題,送出jira,跟蹤bug,開發修改代碼後更新分支,QA要将新的func分支代碼merge進其test分支後再進行測試。以此循環下去,直到第一輪測試結束并确認無誤後,由專門的人員(非開發人員)将各個func分支代碼merge到一個總的dev分支(若merge過程中遇到沖突則由開發進行解決),然後将dev分支給QA進行第二輪測試。

第二輪測試過程中,如果發現問題,送出jira,跟蹤bug,開發修改代碼後更新其負責的相應的func分支并告訴專門的人員(非開發人員)将其func分支再merge到dev分支中,然後将dev分支發給QA,QA将該新的dev分支merge到其test分支後再進行測試,如此往複。

第三輪确認測試,第二輪測試結束後,确認沒有問題了,将由專門的人員(非開發人員)再次将各個func分支merge到一個release分支中,由QA進行上線前的最後一輪線上确認測試。在最接近真實環境的環境進行線上确認,确認無誤後,内部釋出上線,線上上環境進行确認。無誤後,确認産品釋出并由專門的人員(非開發人員)将release分支代碼merge到master分支和dev分支。

至此,産品成功釋出上線,master分支和dev分支代碼更新完畢。

作為QA,在這一整體的流程中,需要確定其負責的測試分支是最新的,需要實時的merge開發所給的代碼。步驟如下:

1. 從Gitlab上克隆倉庫到本地;

2. 進入倉庫并建立test分支在本地;

3. 從本地的master分支切換到建立的test分支;

4. fetch一下遠端代碼;

5. 将開發分支merge到test分支上(若merge過程中遇到沖突須由開發來對沖突部分代碼進行确認并解決);

6. Push test分支到遠端;

7. 部署代碼到伺服器端(過程類似于以上過程,可由公司内部系統自動部署在伺服器端)并進行測試。

以上過程可以下載下傳并使用TortoiseGit這一軟體完成,也可以下載下傳安裝Git并在Git Bash中通過指令行的方式完成。