2009-09-24 11 views
7

He estado jugando con git en mi máquina local y todo tiene sentido hasta que se trata de un desarrollador remoto y múltiple que comienzo a confundirme.Flujo de trabajo de Git para desarrollo web

Mi objetivo es tener un/s sitio/s de desarrollo "semi público" en el que un grupo de 4 personas pueda trabajar e introducir cambios en el sitio en vivo cuando estén listos. Necesitamos que el/los sitio/s de desarrollo estén en el servidor web público para que podamos obtener aprobaciones antes de impulsar los cambios en vivo. La seguridad no es una gran preocupación, así que estoy planeando utilizar un simple .htaccess para restringir el acceso. No todos los cambios deben aprobarse, pero quiero que los sitios dev permanezcan actualizados.

El gran desafío es que 2 de los 4 de nosotros somos diseñadores, por lo que todo el proceso de hacer un cambio y llevarlo a la práctica debe ser rápido y simple. Están acostumbrados a simplemente cambiar el sitio. No quiero hacer un proceso de 10 pasos para hacer lo que están haciendo con un atajo de teclado en este momento.

¿Alguna sugerencia?

+0

Capistrano no es necesariamente exclusivo de Ruby on Rails; puede configurarse para trabajar con otros proyectos. Busque algo como "Capistrano for PHP" para comenzar. También hay Ruby Gems, como despliegue sin raíles, que configurará automáticamente Capistrano en consecuencia. En una nota al margen ... esto es en respuesta a un comentario a otra respuesta anterior. Perdón por hacerlo de esta manera, pero aún no puedo publicar comentarios. Espero que todos me perdonen ya que pensé que esta información valía la pena compartirla. Aclamaciones. – Synexis

Respuesta

4

Salida:

Esto debería hacer que todos familiarizados con el uso de Git y un dar herramienta para impulsar cambios de manera eficiente.

+0

Entonces, ¿para usar GitX todos necesitarían una copia local de todo el sitio? Me gustaría evitar esto si es posible. Tenemos un directorio con 4Gb de archivos PDF que rara vez cambian. – respectTheCode

+0

Desafortunadamente, Git (independientemente de si usa GitX o no) no admite pagos parciales. Esto puede estar en las obras. La respuesta que escucharía por ahora es que su 4Gb de PDF no debería registrarse en el (mismo) repositorio. –

+1

Hemos estado usando git por unos meses y funciona estupendamente. Cada usuario tiene XAMPP y una copia completa del sitio. Entonces tenemos un servidor en nuestra oficina del que todos empujamos y sacamos.Tiene un script de actualización posterior que carga los cambios en la rama principal al servidor web. Usamos otras ramas para nuestros servidores de desarrollo. No es perfecto, pero funciona bastante bien. – respectTheCode

3

Antes de seguir adelante, voy a decir con bastante claridad que git es no una herramienta de despliegue web. Capistrano y sus amigos son la solución superior y obligatoria para sistemas complejos. Sin embargo, si tiene un sitio lo suficientemente simple y no le importan las implementaciones atómicas, las dependencias, el proceso forzado (asegurando que todos los cambios sean QAed, etc.) y similares, a veces puede salirse con la suya con un gancho post-recepción que hace Git forzado de pago. Luego, el proceso de implementación en un sitio web sería pasar a un repositorio especial. Podrías tener un repositorio para QA y uno para producción, o hacer que el gancho compruebe la rama que se está presionando y calcular qué actualizar de esa manera.

Consulte http://toroid.org/ams/git-website-howto para obtener más información sobre un simple gancho de post-recepción para el pago y envío automático.

Por supuesto, también puede hacer que el gancho post-recepción llame a un sistema de implementación web real para encargarse de algunos de los problemas mencionados anteriormente.

+0

No tenemos un proceso de revisión para los cambios de contenido, por lo que esos cambios solo se realizan en la rama principal. Todo lo demás obtiene su propia rama y se fusiona en master para su lanzamiento. Tenemos varias de esas sucursales de características comprobadas en máquinas virtuales en nuestra oficina para su revisión a medida que avanzan los proyectos. No es perfecto, pero funciona bien. Investigaré a Capistrano, pero suena excesivo para lo que necesitamos. – respectTheCode

+1

Parece que Capistrano es una solución específica de Ruby on Rails por lo que no será de ayuda a menos que use Ruby on Rails. – respectTheCode

+0

Supuse que había resuelto el problema, por error, hace varios años. Solo estaba comentando para otros que están investigando el mismo problema. Si tiene restricciones no mencionadas para que ninguna de las dos soluciones funcione, dilucidar. Además, vota por favor si esta publicación fue útil. –

Cuestiones relacionadas