Reduza o risco de implementação com implementações azul-verde

Esta página mostra como implementar uma nova versão da sua app e migrar o tráfego de uma versão antiga para uma nova.

Enviar a app inicial

Use a CLI Kf para enviar a versão inicial da sua app com quaisquer rotas:

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

Enviar a app atualizada

Use a CLI Kf para enviar uma nova versão da sua app sem rotas:

$ kf push app-v2 --no-route

Adicionar rotas à app atualizada

Use a CLI Kf para associar todas as rotas existentes à app atualizada com um peso de 0 para garantir que não recebem pedidos.

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

Desviar tráfego

Comece a desviar o tráfego da app antiga para a app atualizada atualizando os pesos nas rotas.

$ 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

Se a implementação estiver a decorrer bem, pode transferir mais tráfego atualizando novamente os pesos:

$ 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

Concluir a mudança de tráfego

Quando tiver a certeza de que o novo serviço não introduziu regressões, conclua a implementação transferindo todo o tráfego para a nova instância:

$ 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

Desativar a app original

Quando tiver a certeza de que não precisa de reversões rápidas, remova o percurso original e pare a app:

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

Em alternativa, elimine a app e todos os mapeamentos de rotas associados:

$ kf delete app-v1