a maneira certa de fazer implantação com capistrano

a maneira certa de fazer implantação com capistrano

Procuro boas práticas para implantar com capistrano.

Gostaria de começar com uma breve descrição de como costumava fazer a implantação.

capistrano é instalado localmente no computador do desenvolvedor. Eu implanto o gateway de pensamento com a opção capistrano :gateway. Primeiramente, pensei que com :gatewaya opção eu preciso ter conexão ssh apenas com o host do gateway, mas acontece que preciso de conexão ssh (chave pública) para todos os hosts onde desejo implantar.

Gostaria de encontrar uma maneira conveniente e segura de implantar aplicativos.

Por exemplo, caso um novo desenvolvedor comece a trabalhar, é muito mais conveniente colocar seuchave públicaapenas no servidor gateway e não em todos os servidores de aplicativos. Por outro lado não quero que ele tenha nenhuma conexão com servidores em particularsshpara gateway, só porque ele é desenvolvedor, ele precisa fazer apenas implantações.

Se você conhece boas práticas de implantação com capistrano, informe-nos.

Responder1

Capistrano foi projetado desde o início, partindo do pressuposto de que o ssh é a base para todo o gerenciamento. A máquina usada como gateway deve aceitar e emitir conexões ssh. Não há como escapar disso. Seus desenvolvedores terão acesso ssh ao gateway.

Você tem alguns requisitos:

  • Facilidade de adicionar novos desenvolvedores à lista de chaves autorizadas dos seus destinos de implantação
  • Não quero dar aos desenvolvedores um terminal completo na caixa do gateway

Você precisa decidir como lidará com a codificação em seus destinos de implantação. Você tem duas opções principais aqui:

  1. Use uma chave genérica, todos recebem uma e ela é inserida na imagem/destinos.
  2. Use chaves específicas, cada um recebe as suas e você gerencia a lista de chaves_autorizadas através de algo comoou.

A segunda opção é a mais segura, mas funciona melhor se você tiver um sistema de gerenciamento de configuração instalado. Você realmente deveria usar um, e ele pode até fornecer o arquivoauthorized_keys para o servidor gateway.

Você tem algumas opções para restringir o que os desenvolvedores podem fazer quando fizerem ssh em seu sistema.

Dependendo de como o Capistrano realmente funciona com um gateway, alguns deles podem impedir que ele funcione, portanto, os testes são necessários. Pode ser que seja necessário um shell completo para funcionar.

informação relacionada