Implantação de aplicativo com o Puppet

10

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?

    
por michaeltwofish 22.03.2012 / 23:03

6 respostas

10

Eu procuraria Capistrano ou Fabric para implantações ..

Você terá melhor controle sobre como a implantação acontece com essas duas ferramentas.

    
por 23.03.2012 / 03:40
9

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)

    
por 23.03.2012 / 01:25
4

Se você deseja criar um pacote a partir do seu aplicativo, consulte o FPM . O código está em GitHub .

    
por 23.03.2012 / 04:52
4

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!

    
por 23.03.2012 / 08:28
2

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 .

    
por 14.10.2012 / 17:50
1

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.

link

    
por 22.03.2012 / 23:20