¿Cómo usar gitlab para el desarrollo web?

Sé que esto se ha preguntado antes, no pude encontrar una solución para mi situación. Solo espero get alguna información de la comunidad.


Básicamente, quiero usar gitlab para una aplicación web (html, php, mysql) en la que he estado trabajando. He estado usando FTP en un equipo de 3-4 personas durante un año y estoy tratando de cambiar a gitlab. Tenemos una versión de la comunidad local del software en ejecución. Pude configurar el gancho para cargar los files en el website en vivo cuando confirmamos o presionamos.

Aquí es donde estoy atascado;

  1. ¿Cómo puedo desarrollar la aplicación web a la velocidad que tenía con FTP?
  2. ¿Debo tener un server web local ejecutándose en la computadora de todos que esté trabajando en el desarrollo?
  3. La aplicación web está configurada para trabajar en un dominio específico con reescrituras de url. Si cambio eso y luego confirmo mis cambios, rompería el sitio en vivo. ¿Solo excluyo la synchronization de los files de configuration?
  4. Si hacemos un cambio de database, ¿cuál es la mejor práctica para actualizarlo en el server de producción? ¿Necesitamos escribir un script de "actualización" para manejar eso?

La debugging es un problema si necesito escribir algún código, luego presiono a un server de desarrollo y espero a que se active el gancho. Eso es 1-3 minutos donde solía tomar 1-3 segundos. Luego, una vez que hayamos terminado, nos comprometemos con el server de producción. Siento que me falta algo aquí.

  1. La introducción de un Vcs lo retrasará al principio, pero será muy útil para administrar su proyecto. Si te entendí bien, hasta ahora has estado desarrollando directamente en el server de producción accediendo al código a través de FTP, esto es rápido, por supuesto, pero también muy propenso a errores; tampoco puede trabajar en paralelo con otros desarrolladores (¿qué pasa si dos de ustedes quieren editar el mismo file?).

  2. Por lo general, usted recrea el entorno de producción (casi) en la máquina de cada desarrollador, puede ser una versión "ligera" pero lo necesitará para la debugging. Esto es independientemente de Git o de cualquier Vcs que quieras usar.

  3. Me temo que este es un mal hábito de progtwigción, su aplicación no debe codificar ningún dominio y las URL internas siempre deben ser relativas.

  4. Definitivamente debe encontrar una forma de script de migraciones de bases de datos, el proyecto debe ser reproducible en una máquina diferente.

De su pregunta difícil, creo que necesita un marco más que un Vcs. ¿Alguna vez has considerado aprender Django, Ruby on Rails, CakePHP o algo por el estilo? Ellos responderían todas tus dudas en una sola solución.