En este flujo de trabajo, ¿el command git necesita instalarse en el server de producción?

  • Desarrollador A – Repositorio local -> pulls / push —> github
  • Desarrollador B – Repositorio local -> pulls / push —> github

  • Capistrano permanecerá en las máquinas de nuestros desarrolladores, sin embargo, definiremos: repository para apuntar a nuestro proyecto GitHub: set: repository, "git@github.com: myuser / myproject.git" # My clone url

  • El Desarrollador A O Desarrollador B debe poder implementar files comprometidos en la máquina de producción.

Pregunta 1)
Esos files comprometidos vendrán de una de las máquinas de Desarrolladores, ¿correcto?

Pregunta 2)
¿Este procedimiento requerirá que mi host compartido TIENE soporte para commands git, o no?

Muchas gracias.

1) De forma pnetworkingeterminada, Capistrano se implementará desde el repository, por lo que los files que se implementen proceden del código que está registrado en github. Puede configurar Capistrano para implementarlo desde la máquina local de desarrolladores utilizando una "estrategia de implementación" diferente. Consulte aquí: http://rubydoc.info/gems/capistrano/2.5.19/Capistrano/Deploy/Strategy/Copy

2) Depende de lo que termines haciendo, usando la estrategia pnetworkingeterminada que extrae el código de github, necesitarás instalar git, si utilizas la estrategia de copy vinculada anteriormente, no lo harías.

El uso de github y capistrano significa que sus serveres necesitarán acceso al repository github para desplegar nuevas versiones. Capistrano no saca de la máquina que ejecuta el deployment, ejecuta "git fetch xxxx" (o los commands que especifique) al repository github al que apunta.

Use las keys de implementación de github para administrar la security y deberá abrir un puerto de firewall de salida 9418