Somos um grupo que começou a trabalhar em um site bastante grande com uma base de código existente. Temos um servidor de teste e produção.
Nossa idéia é ter um repositório de teste com vários desenvolvedores com acesso por push; e um repositório abençoado para o qual apenas alguns podem avançar. O repo abençoado deve ser sempre estável e representar a versão de produção mais recente.
Como automatizar o processo de transferência dos arquivos para produção? É ruim ter os arquivos de produção sob controle de versão? Dessa forma, empurrar para o repositório abençoado significaria implantação. Mas, o que acontece quando há conflitos de mesclagem? O servidor de produção será interrompido até que seja resolvido?
Eu aprendi muito sobre implantação observando como o Capistrano opera. Eu estava trabalhando com o RoR na época, por isso foi uma escolha lógica e, embora nunca tenha conseguido se comportar no projeto em que estava trabalhando, a maneira como ele realiza atualizações automatizadas foi muito útil.
Você pode estar em uma situação em que pode usá-lo diretamente, mesmo - não está necessariamente vinculado ao Rails - mas, se não, o modo como ele se comporta certamente é útil.
fonte
Dependendo da plataforma que você está usando, existem muitas ferramentas disponíveis que podem fazer sentido para você automatizar versões de produção. Como trabalho em uma loja .NET, estamos usando o NAnt (embora o MSBuild seja uma opção melhor hoje em dia). Java tem Ant, e possivelmente outras coisas. Ruby tem coisas como Rake. Existem plataformas de integração contínua, como TeamCity e Hudson, que também podem ser usadas para gerenciar lançamentos.
Eu nunca vi ou ouvi falar de ter o código prod diretamente em um repositório de controle de origem separado, mas isso certamente poderia funcionar. Como o back2dos disse, a chave é automatizar. Temos nossos scripts de compilação projetados para fazer check-out do controle de origem, compilação e envio ao ambiente de teste para teste. Então, quando gostamos do funcionamento da preparação, os scripts são copiados do controle de qualidade para o Prod.
Minha recomendação é examinar as ferramentas disponíveis, escolher uma e, em seguida, projetar um processo que funcione bem com a ferramenta selecionada. Não tente reinventar demais a roda - este é um problema muito resolvido.
fonte