Atualizar servidor de produção e automação [fechado]

1

Eu gostaria de esclarecer que eu não sou um sysadmin pro de alguma forma, e talvez minha pergunta já tenha sido respondida, mas enquanto eu procurei no google / serverfault / SO eu não encontrei nada parecido.

Digamos que temos dois arquivos únicos que queremos atualizar em um servidor de produção. Podemos fazer isso com ssh - git . Os arquivos AFAIK são enviados um por um. Suponha agora que queremos que esses dois arquivos carreguem at once e não queremos que o usuário enfrente a situação de azar de file1UpdatedVersion e file2OldVersion .

Então eu suponho que temos que desligar o servidor, fazer upload de arquivos, fazer alguns testes de que tudo está funcionando corretamente e abrir o servidor novamente.

Existe algum software de automação onde podemos enviar uma lista de arquivos para upload, alimentá-lo com alguns casos de teste em que nossa atualização será considerada bem-sucedida e, em seguida, shutdown-update-start server , fornecendo assim o mínimo server downtime ?

Obrigado pelo seu tempo!

    
por Themis Beris 31.10.2015 / 00:43

1 resposta

1

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

    
por 31.10.2015 / 22:55