このページでは、アプリの新しいバージョンをデプロイし、古いバージョンから新しいバージョンにトラフィックを移行する方法について説明します。
初期アプリの push
Kf CLI を使用して、任意のルートでアプリの初期バージョンを push します。
$ kf push app-v1 --route my-app.my-space.example.com
更新したアプリの push
Kf CLI を使用して、ルートなしでアプリの新しいバージョンを push します。
$ 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