Implementar desde bitbucket al server en vivo

Recientemente comencé a usar git y tengo algunas dudas sobre el mejor flujo de trabajo.

1 – ¿Es mejor utilizar un repository en línea como Bitbucket como intermediario entre mis serveres locales y remotos? O será mejor implementarlo directamente de local a remoto?

Creo que será genial tener este repository intermedio porque será como una copy de security, pero también complicará mi flujo de trabajo.

2 – Si presiono mi código para Bitbucket, ¿cuál es la mejor manera de implementar el código en un server remoto? He encontrado algunas maneras diferentes:

  • Crear un repository de git en el server en vivo Hago un pull de bitbucket
  • Usa los ganchos de bitbucket como en estas publicaciones: http://jonathannicol.com/blog/2013/11/19/automated-git-deployments-from-bitbucket/ o este otro http://brandonsummers.name/blog/2012/02 / 10 / using-bitbucket-for-automated-deployments /
  • Use un service especializado como http://dploy.io/
  • Usa una herramienta de automation como Capistrano

Quiero la manera más efectiva a largo ploop que no me cause muchos dolores de cabeza. No me importa pagar o aprender algo nuevo (nunca uso capistrano …).

¡Si conoces alguna forma alternativa sobre la que me gustaría leer!

Acabo de pasar por la misma configuration con un proyecto de Rails 4 en el que he estado trabajando localmente y ahora estoy implementando en un server remoto.

Definitivamente deberías estar usando algún tipo de control de versión de código fuente. Actualmente estoy usando bitbucket, que ha sido increíble para mi configuration y flujo de trabajo, además de tener el beneficio adicional de ser gratuito para repositorys privados.

Estás en el path correcto, mi flujo de trabajo se ve así actualmente:

local dev -> commit to bitbucket Luego, usando capistrano, aunque el script se ejecuta localmente, las acciones aún se disparan de forma remota en el server, por lo que se ve así.

(bitbucket repo) ^ | (local dev) deploy capistrano -> (server) fetches from bitbucket and runs capistrano commands 

Los primeros dos resources detallan el process que seguí: http://robmclarty.com/blog/how-to-deploy-a-rails-4-app-with-git-and-capistrano

http://matteodepalo.github.io/blog/2013/03/07/how-i-migrated-from-heroku-to-digital-ocean-with-chef-and-capistrano/

Cuando desee get un poco más de lujo y automation, le sugiero que agregue algo como Chef que pueda usar para configurar el server en sí (para que pueda activar VM o VPS y ejecutar algunos scripts para configurarlo en un par de minutos). se opone a instalar todos los packages de forma manual)