Actualizar la plataforma sin error 500
Cuando subimos una actualización, Ansible da de baja el contenedor actual para iniciar el nuevo, mientras el nuevo está iniciando el panel tiene un error 500 y las compilaciones en curso se cancelan.
Se me ocurrió esto
-
Configurar nginx para tener dos backends y rotar entre uno y otro -
Configurar Ansible para iniciar un segundo backend -
Ansible espera hasta que el segundo backend responda -
Ansible espera a que el primer backend no tenga compilaciones pendientes (por SQL a PostgreSQL o con una API interna?) -
Ansible apaga el primer backend