En mi empresa tenemos un grupo de 8 desarrolladores web para nuestro sitio web comercial (escrito completamente en PHP, pero eso no debería importar). Todos en el grupo están trabajando en diferentes proyectos al mismo tiempo y cada vez que terminan con su tarea, la implementan inmediatamente (porque el negocio se está moviendo rápidamente en estos días).¿Cómo despliega un sitio web en sus servidores web?
Actualmente, el desarrollo ocurre en un servidor compartido con todos los desarrolladores trabajando en la misma base de código (usando RCS para "bloquear" los archivos de otros). Cuando se debe realizar la implementación, los archivos modificados se copian en un servidor "intermedio" y luego un script de sincronización carga los archivos a nuestro servidor web principal desde donde se distribuye a los otros 9 servidores.
felizmente, el equipo de desarrollo web nos pidió ayuda con el fin de mejorar el proceso (después de nosotros quejándose por un tiempo) y ahora nuestra idea de la creación de su entorno de desarrollo es el siguiente:
- Un servidor de dev con los directorios virtuales, de modo que cada uno tiene su propia base de código,
- SVN (o cualquier otro VCS) para realizar un seguimiento de los cambios
- un servidor central para las pruebas de la celebración de la última registramos código
La pregunta ahora es: ¿cómo logramos implementar los archivos modificados en el servidor sin cargar accidentalmente errores de otros proyectos? Mi primera idea fue simplemente exportar la última revisión desde el repositorio, pero eso no daría un control total sobre los archivos.
¿Cómo se maneja esta situación? ¿Qué tipo de scripts de implementación tienes en acción?
(Como un reto especial:. La página web ha crecido orgánicamente en los últimos 10 años, por lo que los proyectos no se dividen en pequeños trozos, pero los archivos para una característica específica están repartidos por todo el árbol de directorios)
Esta es una excelente forma de publicación. ¡Bravo! –