la forma correcta de hacer el despliegue con capistrano

la forma correcta de hacer el despliegue con capistrano

Busco buenas prácticas para implementar con capistrano.

Me gustaría comenzar con una breve descripción de cómo solía realizar la implementación.

capistrano se instala localmente en la computadora de un desarrollador. Despliego pasarela de pensamiento con opción capistrano :gateway. En primer lugar, pensé que con :gatewayla opción necesito tener una conexión ssh solo al host de la puerta de enlace, pero resulta que necesito una conexión ssh (Llave pública) a todos los hosts donde quiero implementar.

Me gustaría encontrar una forma cómoda y segura de implementar la aplicación.

Por ejemplo, en caso de que un nuevo desarrollador comience a trabajar, es mucho más conveniente poner suLlave públicasolo en el servidor de puerta de enlace y no en todos los servidores de aplicaciones. Por otro lado no quiero que tenga ninguna conexión a servidores en particularssha la puerta de enlace, solo porque es desarrollador, solo necesita realizar implementaciones.

Si conoce buenas prácticas para implementar con capistrano, háganoslo saber.

Respuesta1

Capistrano está diseñado desde cero partiendo del supuesto de que ssh es la base de toda gestión. La máquina utilizada como puerta de enlace debe aceptar y emitir conexiones ssh. No hay forma de evitar eso. Sus desarrolladores obtendrán acceso ssh a la puerta de enlace.

Tienes algunos requisitos:

  • Facilidad para agregar nuevos desarrolladores a la lista de claves autorizadas de sus objetivos de implementación
  • No quiero darles a los desarrolladores una terminal completa en la caja de la puerta de enlace.

Debe decidir cómo manejará la codificación de sus objetivos de implementación. Tienes dos opciones principales aquí:

  1. Utilice una clave genérica, todos obtienen una y se integra en la imagen/objetivos.
  2. Utilice claves específicas, cada uno obtiene las suyas y usted administra la lista de claves_autorizadas a través de algo comoo.

La segunda opción es la más segura, pero funciona mejor si cuenta con un sistema de gestión de configuración. Realmente deberías usar uno, e incluso puede proporcionar el archivo autorizado_keys para el servidor de puerta de enlace.

Tiene algunas opciones para restringir lo que los desarrolladores pueden hacer una vez que ingresan a su sistema.

Dependiendo de cómo funcione realmente Capistrano con una puerta de enlace, algunos de estos pueden impedir que funcione, por lo que es necesario realizar pruebas. Puede ser que se requiera un shell completo para que funcione.

información relacionada