隨着DevOps理念和敏捷理念的發展,咱們都但願經過自動化技術,加快項目的迭代。尤爲是當使用微服務系統架構以後,功能的疊加,對應服務的數量也在增長,大小功能的快速迭代,更加要求部署的快速化,智能化。所以,傳統的人工部署已經愛莫能助,因此合理的使用持續集成,持續部署能夠極大的提升生產效率,提升團隊總體效率不可或缺的一環。那麼Jenkins能夠幫你構建一個自動化的持續集成環境,你可使用它來「自動化」編譯、打包、分發部署你的應用,同時跟svn、git能無縫集成,也支持直接與知名源代碼託管網站,好比github,碼雲能夠直接集成.
![企業級Docker+Jenkins+Gitlab自動化流水線構建](http://static.javashuo.com/static/loading.gif)
接下來咱們來介紹下整個工做流程
![企業級Docker+Jenkins+Gitlab自動化流水線構建](http://static.javashuo.com/static/loading.gif)
- 開發人員向本身的git倉庫提交了代碼
- 接下來進入自動化構建過程,這邊要說下,須要開發手動點擊build按鈕,固然你也能夠利用webhooks來觸發jenkins構建,進行全自動發佈,但有些特殊狀況下不建議這麼作,好比說QA測試到一半,開發又向git倉庫提交代碼,結果觸發jenkins自動構建了,容易影響到測試。
- 首先會Jenkins會自動拉取最新的代碼。
- 成功拉取代碼以後,會繼續進入Maven編譯階段,若是這個階段編譯出錯了,構創建馬終止,因此使用流水行發佈,能夠快速的定位出問題的點。接下來,纔會進入Docker鏡像構建環節。
- 構建鏡像,是調用docker命令構建好服務鏡像,而且推送到私有鏡像倉庫。
- 最後,將自動下載鏡像而且部署到Rancher,至於這個Rancher,它是一個容器管理平臺.
-
學習視頻教程
http://edu.51cto.com/course/14600.htmlhtml