Dirijo una pequeña empresa de desarrollo web junto con mi hermano y amigo. Después de hacer una extensa investigación, he decidido usar subversion para el control de versiones.Configuración del flujo de trabajo perfecto para el desarrollo web con 2-3 personas que usan la subversión
Así es como actualmente planeo ejecutar un desarrollo típico. Tenga en cuenta que somos 3 de nosotros cada uno en un lugar diferente.
Configuré una cuenta con springloops (springloops.com) host de subversión. Cada vez que trabajo en un nuevo proyecto, creo un repositorio para él. Digamos que en este caso estoy trabajando en el sitio1. Quiero tener 3 versiones del sitio en Internet:
- Desarrollo Web - Este es el servidor mí y los otros desarrolladores publican a. (Site1.dev.bythepixel.com)
- de vista previa de cliente - Este es el servidor que actualizamos cada pocos días con una buena revisión para que el cliente vea. (site1.bythepixel.com)
- Sitio vivo - El sitio publico a cuando se va en vivo (site1.com)
Cada máquina desarrollo web (en cada lugar) tendrá una copia local de xamp ejecutando un host virtual para permitir trabajar en varios sitios web. La raíz de la copia local está configurada para ser la misma que la copia local del repositorio de subversión. Esto está configurado para que podamos hacer ajustes pequeños y obtener una vista previa de ellos inmediatamente. Cuando se ha realizado algún trabajo, se realiza una confirmación en el repositorio del sitio. Haré que el sitio de desarrollo se presione automáticamente (es una opción en springloops). Luego, cada vez que me sienta listo para ingresar al sitio del cliente, lo haré. La etapa final será presionar al sitio en vivo.
Ahora, tengo algunas preocupaciones con los flujos de trabajo:
estoy usando CodeIgniter actualmente, y en el archivo de configuración por lo general establecer la raíz del sitio. Ex. http://www.site1.com. Entonces, parece que cada vez que publico en uno de los servidores de Internet, ¿tendré que modificar el archivo de configuración? ¿Hay alguna manera de hacerlo de manera que ciertos archivos estén configurados para cada servidor? Entonces, cuando presiono publicar en la vista previa del cliente, solo carga el archivo de configuración para el servidor de vista previa del cliente.
No quiero que el sitio en vivo, el sitio de vista previa del cliente y el sitio de desarrollo compartan el mismo servidor mysql por una variedad de razones. Entonces, ¿esto significa una vez más que tengo que ajustar la información del servidor db cada vez que presiono para un sitio diferente?
¿Tiene sentido este flujo de trabajo? Si tienes alguna sugerencia, házmelo saber. Planeo que este sea el flujo de trabajo que utilizo para los próximos años. ¡Solo necesito poner en funcionamiento un sistema que permita una expansión futura!
Como @David ha eludido, el control de la versión distribuida llegó para quedarse: http: //www.joelonsoftware. com/items/2010/03/17.html –