Eu procuraria Capistrano ou Fabric para implantações ..
Você terá melhor controle sobre como a implantação acontece com essas duas ferramentas.
Sou novo no Puppet e, enquanto uso os sistemas * nix há muitos anos, nunca trabalhei como administrador de sistemas ou em operações.
Atualmente estou escrevendo Manifestos Puppet para hospedar um conjunto de aplicações web (PHP / MySQL / MongoDB, código em git). É evidente que o Puppet precisa ter algum conhecimento dos aplicativos reais, porque configurarei um host virtual para cada um deles, mas não tenho certeza se o Puppet deveria estar gerenciando coisas como implantação de código e criação de banco de dados.
O Puppet é uma ferramenta apropriada para a implantação de aplicativos? Se não, você pode recomendar uma ferramenta mais apropriada?
Eu procuraria Capistrano ou Fabric para implantações ..
Você terá melhor controle sobre como a implantação acontece com essas duas ferramentas.
O Puppet é usado para implantações em muitas organizações grandes, mas nem sempre é perfeito. Muito disso depende da sua metodologia de implantação. Você está implantando em várias máquinas de uma só vez? Você faz implementações contínuas?
Algumas organizações usam o Puppet construindo pacotes de suas implantações e, em seguida, realizando políticas de marionete para estar na versão correta do pacote. Como o boneco tem o conceito de ambientes incluídos, você pode usar ambientes para fazer implantações em estágios (dev, test, prod, por exemplo).
Outras organizações usam o fantoche para orquestrar a implementação disparando um rsync, git checkout ou algumas cópias recursivamente de arquivos usando o fantoche (embora isso seja bastante lento).
Existem outras excelentes ferramentas disponíveis para implantação também. Eu usei o disco de Whiskey no passado (uma ferramenta simples de ruby) e gostei muito.
(Disclaimer, eu trabalho no Puppet Labs)
O Puppet não é a ferramenta adequada para implantar aplicativos na minha opinião.
Eu uso o Jenkins para criar e implantar nosso código em testes e preparações.
O Jenkins é originalmente um servidor de integração contínua, mas é realmente flexível e modular. Existem muitos plugins para o Jenkins que podem ajudá-lo a implantar seus aplicativos:
Para nossa aplicação, configurei o Jenkins com a Publicação sobre SSH que copia um arquivo WAR criado com êxito para o servidor de destino e, em seguida, executa um script que faz o backup e a implantação. Espero que isso ajude!
Uma ferramenta de gerenciamento de configuração e execução remota seria boa para a implantação de aplicativos. O sal é um bom exemplo disso .
O Puppet não é realmente projetado para implantação porque, quando há um grande número de arquivos envolvidos, você pode ter problemas. Você pode procurar o capistrano para a implantação de aplicativos.
Tags puppet deployment