Eu montei um site Drupal sob controle git para o trabalho de desenvolvimento.
Ele é criado em um mestre, repositório simples do GIT e, à medida que as alterações são feitas nos meus vários clones git do trabalho de projeto e empurrado de volta para o mestre, um gancho pós-atualização envia imediatamente as alterações para um único site de teste ao vivo (http: / /staging.loc.). Nada de especial, funciona como esperado.
Eu também fiz alias do site "@STAGING". Ocasionalmente, quero promover minhas alterações do site Staging para um servidor de produção.
Dois métodos relativamente simples vêm à mente:
(1) No momento em que o site de armazenamento temporário parecer estável, crie o site de produção como um checkout git no repositório mestre,
(2) use drush rsync
+ drush sql-sync
do site intermediário para o local de produção.
Ambos podem ser feitos para funcionar. Além do fato de que (2) parece mais centrado no Drupal / consciente por natureza - o drush é, afinal, um conjunto de ferramentas específicas do Drupal - quais são os méritos relativos das duas abordagens?
Existe alguma razão específica para considerar (1) sobre (2)?
Nos dois casos, "Tudo" está sob pelo menos uma instância de controle de revisão ...
"rsync' => array ('exclude-paths' => '.git:.DS_Store:.gitignore:.gitmodules:',"
no arquivo .rc, embora ainda não tenha certeza se preciso disso nos alias dos alias de origem e de destino ou apenas em um ou outro.