對jenkins的理解

持續集成是什麼?簡稱 CI
概念: Continuous integration
持續集成指的是,頻繁地(一天多次將代碼集成到主幹)
持續集成的目的:讓產品可以快速迭代,同時保持高質量,在代碼集成到主幹會自動化檢測,有一個測試用例失敗,就不能集成。
它的好處有兩個:
快速發現錯誤,每完成一點更新,就集成到主幹,快速發現錯誤,定位錯誤容易。
防止分支大幅偏離主幹,如果不是經常集成,主幹又不斷更新,會導致以後集成難度大,甚至難以集成。
相關概念:持續交付、持續部署。
持續交付:Continuous delivery
頻繁將軟件新版本,交給質量團隊測試,測試部門測試,測試部門通過後,代碼進入生產階段。
持續交付是持續集成的下一步,不管代碼怎麼更新,軟件時隨時隨地交付的。
持續部署:continuous deployment
是持續交付的下一步,指的是代碼通過測試部門評審後,自動部署到生產環境。
持續部署的前提是能自動化完成測試、構建、部署等步驟。
流程; 持續集成CI-----> 持續交付CD------->持續部署CD
提交: 流程的第一步,開發者向倉庫提交代碼,所有步驟始於本地代碼的提交commit。
測試(第一輪): 流程第二步,代碼倉庫對commit操作配置了鉤子book,只要提交代碼或者合併到主幹,就跑自動化測試。
測試分爲好幾種:
單元測試:針對單個模塊來測試。
功能測試:針對產品的某個功能來測試。也叫集成測試。
端對段測試:從用戶界面直達數據庫的全鏈路測試。
構建: 第一輪測試後,代碼合併到主幹。就可以交付了。交付後先進行build。
構建是將源代碼轉換爲可以運行的實際代碼,比如安裝依賴,配置各種資源(js腳本圖片)
測試(第二輪): 構建完成,就可以第二輪測試,第二輪是全面測試,單元測試和集成測試都會跑,有條件的話,也要做端對段測試,測試用例。
註釋; 如果第一輪測試已經涵蓋了所有的測試內容,第二輪可以省略,不過構建步驟也要移到第一輪測試前面。
部署: 第二輪測試通過後,代碼就可以直接部署,將這個版本存檔,部署到生產服務器。部署工具有ansible salstack puppet。
回滾: 一旦當前版本有問題,就要回滾到上一個版本的構建結果。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章