5.3 特性改動累積并最終提交
小明把代碼改動提交到服務器端代碼庫的這個動作,自動觸發了流水線的運轉。流水線把該特性分支的代碼下載下來,進行編譯構建、單元測試、代碼掃描。這些工作主要是為了以防萬一,畢竟各種原因都有可能導致小明提交的代碼并不是百分之百沒問題。
比如這次就發現了一個問題,在這個特性分支上為該特性所做的代碼改動(不是全量代碼)沒有被單元測試覆蓋到。這有點兒不太對勁。工具自動發送了一封提醒郵件給小明,小明看了也覺得確實有必要補充單元測試的腳本。
過了幾天后,特性開發完成了。小明對該特性做了最后一次提交后,在工具中發起了一個合并請求(Merge Request),邀請小王幫他評審代碼。小王收到邀請后,打開合并請求,先跳轉到該特性分支對應的用戶故事描述中看了看,然后回到合并請求中評審本次代碼改動。他對幾個地方有疑惑,于是分別在合并請求中相應的代碼位置做了標記和簡要備注。接下來,小王和小明坐在一起討論了一下那幾個有疑惑的地方,其中有兩個地方確實應該改改。小明改好后再次提交,小王在工具中簡單地對比看了一下,確定沒問題了。鑒于此次提交自動觸發的構建、單元測試、代碼掃描也都通過了,根據預設規則,工具認為這個特性沒問題了,自動將它合并到集成分支中。