Jenkins+Docker+K8S自動化部署

自從公司的服務大升級使用Jenkins+Docker+K8S自動化部署之後,感覺用起來有點大快人心之感。
    攻城獅本地開發,開發完成後提交代碼到代碼倉庫,自動觸發jenkins進行持續集成與部署,部署完成會收到結果郵件。項目運行過程中可通過日誌系統查看程序日誌,有異常會觸發監控系統發送報警。從編碼到上線後結果反饋都可以攻城獅自主完成,形成完整閉環,完整流程的工具鏈及協助異常情況的處理,工作量減少了,效率也高了。
在這裏插入圖片描述

  1. 自動觸發jenkins部署通過svn或Git的hooks來實現,是否自動觸發根據項目內部溝通決定,我們目前沒有自動觸發,原因是QA在測試的過程中不希望被自動觸發的部署打斷,不過也可以方便的在jenkins上手動觸發執行;

  2. jenkins從Git拉代碼 --> 編譯 --> JS/CSS合併壓縮 --> 其他初始化操作 --> 生成最終線上運行的代碼包,通過Dockerfile打包成鏡像上傳到docker hub,然後觸發kubernetes滾動更新;

  3. 鏡像包含了基礎鏡像+項目代碼,基礎鏡像就是根據項目運營環境打包的一個最小化的運行環境(不包含項目代碼),根據項目依賴的技術棧不同我們打包了很多不通類型的基礎鏡像,例如包含nginx服務的基礎鏡像,包含jdk+tomcat的基礎鏡像;

  4. 如果發現程序上線出錯或有bug短時間內無法解決,可通過jenkins快速回滾到上一鏡像版本,十分方便;

  5. 如果發現流量突然增高,可以通過kubernetes快速調整容器副本數量。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章