Cette page explique comment déployer une nouvelle version de votre application et migrer le trafic de l'ancienne à la nouvelle version.
Déployer l'application initiale
Utilisez la CLI Kf pour déployer la version initiale de l'application en lui associant des routes si vous le souhaitez :
$ kf push app-v1 --route my-app.my-space.example.com
Déployer la nouvelle version de l'application
Utilisez la CLI Kf pour déployer une nouvelle version de votre application sans définir de routes :
$ kf push app-v2 --no-route
Ajouter des routes à la nouvelle version de l'application
Utilisez la CLI Kf pour associer toutes les routes existantes à la nouvelle version de l'application. Spécifiez une pondération de 0 afin que ces routes ne reçoivent aucun trafic :
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 0
Basculer le trafic
Commencez à basculer le trafic de l'ancienne vers la nouvelle version de l'application en modifiant les pondérations définies au niveau des routes :
$ 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
Si le déploiement se déroule correctement, vous pouvez basculer une plus grande partie du trafic en modifiant à nouveau les pondérations :
$ 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
Basculement complet du trafic
Une fois que vous êtes certain que le nouveau service n'a pas introduit de régression, terminez le déploiement en basculant tout le trafic vers la nouvelle instance :
$ 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
Désactiver l'application d'origine
Une fois que vous êtes certain qu'un rollback rapide ne sera pas nécessaire, supprimez la route d'origine, puis arrêtez l'application :
$ kf unmap-route app-v1 myspace.example.com --hostname my-app
$ kf stop app-v1
Ou bien, supprimez l'application d'origine ainsi que tous les mappages de routage associés :
$ kf delete app-v1