Existem várias maneiras de automatizar implantações com tempo de inatividade mínimo. Dependendo da sua configuração atual, diferentes métodos podem ser aplicados. Um bom começo pode ser fazer com que o lançamento real seja a mudança de um symlink.
Digamos que você comece com seu app v1
localizado em /var/www/app/v1
, e então você tem um link simbólico chamado /var/www/app/current
apontando para a pasta v1
. Você configura seu servidor da Web para usar a pasta current
como raiz do documento. Quando você estiver prestes a liberar v2
, faça o upload para /var/www/app/v2
e, em seguida, altere seu link simbólico current
para apontar para v2
. Usando esse método, você terá um tempo de inatividade mínimo (se houver) e os usuários não acabarão em um estado em que diferentes versões serão exibidas ao mesmo tempo.
Para evitar fazer isso manualmente, existem ferramentas disponíveis que fazem isso para você. Aqui estão alguns exemplos :
Se você quiser levar o seu processo de implantação um passo adiante, eu recomendaria olhar para o conceito de servidor imutável ou ferramentas como o Docker