Usar el control de fuente git con un website

Así que solo quiero configurar Git en mi server, pero me estoy enfrentando a un millón de problemas, así que olvídalo.

¿Puedo configurar un repository git normal y luego hacer que mi server web se sincronice "automáticamente" (solo leer, supongo) con el repository git?

Solo soy parte de un equipo de 2 personas y preferiría usar Git sobre cualquier otro control de versión.

TL; DR

Puede extraer de su server web, pero empujar a un repository no desnudo requiere una serie de pasos adicionales y puede crear problemas. Lo correcto es usar un webhook o una herramienta de implementación que se active en un repository de Git, pero existen opciones más simples, como trabajos de cron del lado del server.

Usa un trabajo de Cron

En path a get la funcionalidad que desea es con un trabajo cron. Como ejemplo simplist, puedes sondear tu repository de git cada minuto y hacer cambios, por ejemplo:

* * * * * cd /path/to/www && git pull 

Si tiene un service web que debe reiniciarse para aprovechar los resources modificados, obviamente también deberá hacerlo.

Use ganchos e integraciones

Si está utilizando GitHub u otro service de repository alojado, a menudo puede aprovechar las integraciones con proveedores como AWS o Heroku. En particular, Heroku es agradable porque cada visita a la sucursal maestra recomstackrá y volverá a implementar su service web sin requerir acciones adicionales.

Para get más información, consulte lo siguiente:

  • Integraciones de GitHub
  • API GitHub Webhooks
  • Heroku: Despliegue con Git

Use una herramienta de implementación completa

Si tiene requisitos más complejos, probablemente necesite una herramienta de implementación más capaz. Un ejemplo es Capistrano , que a menudo se usa para proyectos de Ruby on Rails, pero también se puede usar para administrar implementaciones para otros types de aplicaciones y frameworks. Cierta investigación ciertamente mostrará otras herramientas de implementación que te pueden gustar más, pero es un lugar razonable para comenzar.

La solución más fácil para las implementaciones automáticas desde un repository remoto de Git probablemente incluya el uso de un service de implementación.

Considere esta configuration:

  • Bitbucket Free Edition con Master Repo (hasta 5 usuarios)
  • Local Git Repo
  • Servicio de implementación, como http://deploybot.com/ (Gratis para 1 Repo)

Luego, sigue este flujo de trabajo general:

  1. Establezca el repository de Git en su entorno local.
  2. Establezca el repository Git en Bitbucket con la twig Master y presione local-> master
  3. Activa la count de Deploybot, rellena con cnetworkingenciales de FTP en tu sitio de producción
  4. Configure deployments automáticos desde Deploybot hasta Production. Esto comprobará Bitbucket para confirmaciones recién fusionadas y las implementará automáticamente
  5. Haz tus primeros commits localmente, presiona y mira

Nota: espero que no vayas a usar implementaciones automáticas para cualquier cosa que pueda considerarse crítica, como el website de tu compañía