このページでは、新しいバージョンのアプリケーションをデプロイし、古いバージョンから新しいバージョンにトラフィックを移行する方法について説明します。
最初のアプリを 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