透過藍綠部署降低部署風險

本頁面說明如何部署新版應用程式,以及將流量從舊版遷移至新版。

推送初始應用程式

使用 Kf CLI 透過任何路徑推送應用程式的初始版本:

$ kf push app-v1 --route my-app.my-space.example.com

推送更新後的應用程式

使用 Kf CLI 推送應用程式新版本,但不包含任何路由:

$ kf push app-v2 --no-route

在更新後的應用程式中新增路線

使用 Kf CLI 將所有現有路線繫結至更新的應用程式,並設定權重為 0,確保這些路線不會收到任何要求:

$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 0

轉移流量

更新路徑的權重,開始將流量從舊版應用程式轉移至更新版應用程式:

$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 80
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 20

如果部署作業順利,您可以再次更新權重,將更多流量轉移:

$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 50
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 50

完成流量轉移

確認新服務不會導致回歸後,請將所有流量轉移至新執行個體,完成推出作業:

$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 0
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 100

關閉原始應用程式

確認不需要快速回復後,請移除原始路線並停止應用程式:

$ kf unmap-route app-v1 myspace.example.com --hostname my-app
$ kf stop app-v1

或者,您也可以刪除應用程式和所有相關的路徑對應項目:

$ kf delete app-v1