Implantação de aplicativo da Web - check-out ou não

2

Ao implantar um aplicativo da Web em Python, quais são os prós e contras de usar os seguintes métodos para implantar o aplicativo:

  1. Use o VCS para fazer um checkout no servidor
  2. Use FTP / SSH / rsync para transferir uma cópia de um checkout local
  3. Crie um pacote adequado e transfira isso para o servidor

(Nota 1 - Eu atualmente uso o método 1. No entanto, meu repositório pode conter muitos outros artefatos relacionados ao projeto, bem como o aplicativo real, então isso parece funcionar melhor com SVN, onde posso verificar apenas a pasta relevante - com o DVCS tudo ou nada abordagem isso parece não é uma boa idéia). (Nota 2 - atualmente estou mudando para o DVCS)

    
por RobinP 01.08.2011 / 14:12

1 resposta

2

Eu uso 4: tenho um clone no servidor, depois faço um arquivamento disso e implanto isso (como demonstrado no meu git push ferramenta de implantação, Giddyup ).

Os problemas com os outros métodos, na minha experiência, são:

  1. Check-out do VCS: seu check-out inclui metadados de controle de versão, que (se você negligenciar a proteção adequada com a configuração do servidor da Web) podem expor seu código-fonte a invasores ou a usuários com curiosidade terminal.
  2. FTP / rsync: Nada particularmente errado com esse método, embora uma implementação ingênua (FTP ou rsync em um diretório vazio) consuma muito mais tempo e largura de banda para transferir tudo. Também tem um hábito desagradável de implantar coisas que não foram verificadas (sempre uma aventura para diagnosticar aquela uma), porque era apenas mentir em torno de sua cópia de trabalho local. (Você pode contornar isso, mas eles geralmente se resumem a "fazer um checkout local", que é devolvido para (1).
  3. Embora eu seja uma porca de embalagem , eu Descobrimos que o empacotamento da maioria dos aplicativos da web (TM) é um exagero - eles são dados, em vez de programas (do ponto de vista do servidor), então envolvê-los em um pacote acaba sendo desnecessário (supondo que você tenha um bom mecanismo de implantação envolvendo o registro de suas implantações, a revisão exaustiva que os controla e assim por diante).
por 01.08.2011 / 14:40