Reducir el riesgo con implementaciones azul-verde

En esta página, se muestra cómo implementar una versión nueva de tu app y migrar el tráfico de una versión anterior a una nueva.

Envía la app inicial

Usa la CLI de Kf para enviar la versión inicial de la aplicación con cualquier ruta:

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

Envía la aplicación actualizada

Usa la CLI de Kf para enviar una versión nueva de la aplicación sin rutas.

$ kf push app-v2 --no-route

Agrega rutas a la app actualizada

Usa la CLI de Kf para vincular todas las rutas existentes a la app actualizada con un peso de 0 para asegurarte de que no reciban ninguna solicitud.

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

Transfiere el tráfico

Actualiza los pesos en las rutas para comenzar a transferir el tráfico de la app anterior.

$ 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 la implementación funciona bien, puedes transferir el tráfico si actualizas los pesos de nuevo:

$ 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

Cómo completar la transferencia de tráfico

Una vez que estés satisfecho con el hecho de que el nuevo servicio no introdujo regresiones, completa el lanzamiento mediante la transferencia de todo el tráfico a la nueva instancia:

$ 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

Desactiva la app original

Una vez que estés satisfecho de que no se necesitan las reversiones rápidas, quita la ruta original y detén la app:

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

Otra opción es borrar la app y todas las asignaciones de ruta asociadas:

$ kf delete app-v1