Use links simbólicos para delopment da web com tempo de inatividade zero

1

Eu tenho um grande site onde todos os arquivos estão na pasta public_html .

Aqui está a estrutura:

-public_html/ 
    - app/
    - public/
    - vendor/
    - index.php
    - test /
        - app /
        - public/
        - vendor/
        - index.php

Estamos trabalhando em uma nova versão. É acessível através de URL diferente (test.domain.com) e todos os arquivos estão na pasta /test .

No momento, quando queremos tornar as novas alterações ativas (disponíveis para domain.com), copiamos os arquivos da pasta test/ para a raiz da pasta public_html/ e sobrescrevemos os existentes. Isso não é conveniente ao implantar uma versão completamente nova porque há muitos arquivos para implantar / sobrescrever, leva muito tempo e o site não está acessível ou funcionando corretamente durante esse período.

Para a próxima versão grande, gostaria de tentar algo diferente: criar um link simbólico que redirecione public_html/ para public_html/test/ . Dessa forma, assim que o link simbólico é criado, os usuários verão os arquivos na pasta test/ , que contém a nova versão.

Essa abordagem funciona? Eu li em algum lugar que eu teria que excluir a pasta public_html/ antes de criar o symlink, isso é verdade, e existe uma maneira de contornar isso se for?

Existe uma maneira melhor de fazer isso e obter "zero downtime development" ou muito perto disso?

    
por Drown 08.06.2016 / 20:13

1 resposta

1

Se você realmente quiser usar links simbólicos, sim, você terá que mover ou public_html para torná-lo um link. Você poderia fazer algo como:

- public_html → production
- production
    - app/
    - public/
    - vendor/
    - index.php
- test /
    - app /
    - public/
    - vendor/
    - index.php

production e test estão ambos fora de public_html e public_html é um link para production . Em seguida, renomeie production e test conforme necessário.

    
por muru 08.06.2016 / 21:00