由于功能多且復雜,測試較多,運行很長。利用Cruise的并行化特點,每個團隊將測試分成28組。一旦提交后,Cruise會將其放在28臺機器上并行運行。運行后,將所有測試輸出和結果上傳到同一處(Cruise Server的中心倉庫)。
益處:
1. 反饋時間大幅度縮短(原來30分鐘以上,現在20分鐘之內)。
2. 易擴展:如果因測試增多而導致反饋周期長,可通過增加更多的機器解決。
3. 易維護:對于測試分組和構建機器的增減來說,在Cruise中都非常容易,只要在同一處修改配置即可。
4. 易追蹤和Debug:所有的信息(包括artifacts)都放在同一處,能過Web訪問。
5. Single view (在同一個Web管理頁面上,可以監控所有團隊的構建狀態)。
第三步目標:減少手工操作
方法:一鍵發布————自動化部署
手段:Cruise (Cruise的dependency + Story Tracker plugin + audit)
由于有很多個團隊,每個團隊都有多個測試環境。如果全部使用手工部署分花費很多時間。所以,每個團隊建立三個構建管道,其目標分別為:(1)得到測試過的 installer;(2)部署到測試環境中;(3)將通過測試的installer部署到演示環境中。前一個構建成功后,就可以觸發下一個(自動或手動)。
益處:
1. QA可以清晰識別需要測試哪個安裝包,該安裝包中含有哪些功能
2. QA自己可能很容易地部署測試環境。
3. 易于追蹤功能的歷史版本(在同一個pipeline中,所有的stage同一版本.而且在使用Pipeline dependency時,版本信息會向下游傳遞)。
4. 易于掌握對各種部署環境的管理。
使用上述手段后,該項目的持續集成已入佳境。目前可以做到:
所有的構建和部署都是自動化的;
開發人員最多在20分鐘內就會得到反饋。
對于每個環境來說,可以做到每天部署四次。
部署無差錯:因為是自動化過程,每次的執行步驟都一樣。
機器資源復用:Cruise自動向165臺機器上分發工作進行構建和部署。
Single dashboard view of everything!
開發人員非常高興:他們可以多次提交而不影響他人。
測試人員非常高興:他們可以很快地得到好的installer,通過自己點一下按鈕就完成部署工作。
管理人員非常高興:他們可以馬上了解當前的項目狀態(哪些版本在測試中,那些版本已經演示了)。
很容易了解每個版本里包括哪些功能和修復了哪些缺陷。
最終的持續集成環境中共計有260個構建和部署機器,每六周一個release,每個release需要生成15個獨立的安裝包.
文章來源于領測軟件測試網 http://www.kjueaiud.com/