前面一章節咱們已經瞭解了Agile,CI/CD,DevOps,做爲DevOps的起點,對於一個團隊,如何開始本身的持續集成?根據個人經驗,列出了一下須要考慮的點python
CI階段除了保證代碼沒有衝突,編譯經過以外,最重要的就是測試 。每次代碼變動後,咱們須要自動運行測試用例。git
在初始階段並不須要實現全部的測試類型。一開始能夠以單元測試入手,隨着時間擴展覆蓋面。docker
並非全部的測試都是對等的,實際運行中能夠作些取捨。shell
單元測試實現起來既快成本又低,由於它們主要是對小代碼塊進行檢查。npm
UI 測試實施起來很複雜,運行起來很慢,由於它一般須要啓動一個完整的環境以及多個服務來模擬瀏覽器或移動行爲。實際狀況可能但願限制複雜的 UI 測試的數量,並依賴基礎上良好的單元測試來快速構建,並儘快得到開發人員的反饋。瀏覽器
單元測試前期投入少,短時間內能夠看到效果,對開發人員要求高;UI測試前期人員成本投入大,須要很長時間看到效果安全
推廣普及CI文化服務器
1. 儘早集成。若是很長時間不合並代碼,代碼衝突的風險就越高,代碼衝突的範圍就越廣。若是發現某些分支會影響已經存在的分支,須要增長髮布關閉標籤,避免發佈時兩個分支衝突。 2. 保證編譯時時刻刻暢通。一旦發現任何編譯問題,馬上修復,不然可能會帶來更多的錯誤。測試套件須要儘快反饋測試結果,或者優先返回短期測試(單元測試)的結果,不然開發者可能就切換回開發了。一旦編譯出錯,須要通知給開發者,或者更進一步給出一個 dashboard,每一個人均可以在這裏查看編譯結果。 3. 把測試用例歸入流程的一部分。確保每一個分支都有自動化測試用例。彷佛編寫測試用例拖慢了項目節奏,可是它能夠減小回歸時間,減小每次迭代帶來的 bug。並且每次測試經過後,將會很是有信息合併到主幹分支,由於新增的內容不影響之前的功能。 4. 修 bug 的時候編寫測試用例。把 bug 的每一個場景都編寫成測試用例,避免再次出現。 5.