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

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

推送初始應用程式

使用 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