持續集成數據庫
1.什麼是持續集成
針對系統的開發和發佈,造成的一套標準流程。
持續集成指的是,頻繁地(一天屢次)將代碼集成到主幹服務器
2.持續集成的流程
1)開發者向代碼倉庫提交代碼
本地代碼commit到代碼倉庫
2)代碼倉庫對提交的代碼進行測試
代碼倉庫對commit操做配置了鉤子(hook),只要提交代碼或者合併進主幹,就會跑自動化測試。
測試的種類以下:
單元測試:測試函數或模塊功能
集成測試:針對整個產品的某個功能的測試,又稱功能測試
端對端測試:從用戶界面直達數據庫的全鏈路測試
3)持續交付
經過上步測試後,代碼就能夠合併進主幹了,此時稱做可交付。
4)構建
構建指的是,交付後的源代碼轉爲運行的實際代碼,好比安裝依賴,配置各類資源(樣式表,js腳本,圖片)等等。
5)測試
構建完畢後,會進入測試。以自動化測試爲主,沒法自動化的測試用例,須要人工跑。
6)部署到生產服務器
經過上步測試後,當前代碼就是一個能夠直接部署的版本。將這個版本的全部文件打包存檔,發到生產服務器上。
生產服務器解包文件,再將運行路徑符號連接指向文件目錄,而後從新啓動應用。
部署工具備Ansible,Chef,Puppet等。
7)回滾
若當前版本有問題,須要回滾上一個版本的構建結果。最簡單的作法就是修改運行路徑符號連接,指向上次構建的目錄。函數
3.持續集成的優勢
1)快速發現發錯
每完成一點更新,就集成到主幹,可快速發現和定位錯誤
2)防止分支大幅偏離主幹
主幹不斷更新,會致使分支集成難度變大或難以集成。工具
4.持續集成的目的
讓產品能夠快速迭代,同時還能保持高質量。單元測試