Skip to content

Latest commit

 

History

History
28 lines (18 loc) · 2.32 KB

README.md

File metadata and controls

28 lines (18 loc) · 2.32 KB

[K8s + Jenkins] Jasper Shop

這是一個將 Django-Nginx-uWSGI-High-Performance-JasperShop Dockerize 以及用 k8s + Jenkins 來部署的專案

詳細過程可以在我的部落格看我是怎麼一步一步做出來的:


影片 Demo

Youtube

影片展示了無需停機即可透過 Git Push 來完成自動化部署,一開始可以看到搜尋列的 Placeholder 為 改版測試-3,後來更新為 改版測試-4 後,就直接 Push 到我的 GitHub Repository,原先就有設定好 Webhook,接下來 Jenkins 就開始執行兩個 Job。

JasperShop-Pipeline 負責拉取 GitHub Repository 上面最新的 Code,並且 Build 和 Push Docker Image 到我的 Docker Hub 上。

JasperShop-Updater 負責執行 k8s-yaml/scripts/update_k8s.sh 腳本檔,Apply 專案的 yaml 檔,並透過 kubectl 來完成滾動更新。

畫面最後可以看到網頁在只有一個新的 Pod 被執行起來時就可以連線,也可以看到搜尋列的 Placeholder 為 改版測試-4,之後也可以看到所有的 Pod 都已經被更新成新的版本且都部署好,完成這次的無停機更新。