Disculpa si las respuestas a esta pregunta ya existen, no las encontré todavía.Subversion con integración continua
Soy miembro de un equipo de desarrollo web, mantenemos un portal web. Release Management funciona con Subversion. Así es como yo trabajo al añadir nuevas características al portal:
- Crear una nueva rama copiando el tronco
- se desarrollan en esa rama
- Periódicamente mezcla actualiza desde el tronco en esa rama (quiero saber si Marco-Cambios romper mi código, antes de que vaya a UAT/Integración, por ejemplo)
- reintegrar a la rama en el tronco con el fin de dejar que ir a vivir
Ahora tenemos un problema con continuo Integr ación:
- periódica de entrada en funcionamiento cada X semanas existen
- varias ramas que se prevé que la entrada en funcionamiento en diferentes fechas
- horas cada x al día, Integration Server hace una extracción del tronco y se fusiona todas las ramas (que debe ir de forma explícita al Sistema de Integración) en ella
- las actualizaciones del tronco que se han fusionado en cada rama (véase más arriba) ahora generan conflictos árbol
¿Cuál es la mejor práctica para tha t? Reintegrar no funciona para fusionar varias Sucursales, porque tan pronto como una Sucursal se integra, la copia de trabajo ya no está limpia. Sin embargo, la integración continua debe ser posible de alguna manera ...
Si los cambios de Trank se fusionan en cada rama, se crean diferentes revisiones. Pero los archivos deben tener el mismo contenido y ser iguales. ¿No existe una opción de fusión que diga "ignorar un conflicto si los dos archivos nuevos/modificados son idénticos"?
Gracias por cualquier ayuda.
Veo su punto. La fusión manual funciona bien hoy si las sucursales deberían activarse. Los sistemas de integración separados también deberían funcionar bien, estoy de acuerdo. Sin embargo, nuestros clientes actualmente tienen _un_ Sistema UAT donde prueban y aprueban los cambios. Sería difícil explicar por qué ahora deberían probar cada característica en sistemas separados ... ¿O todavía extraño algo? –
No necesita explicar nada. Simplemente combine los cambios de otras ramas manualmente en la rama principal (troncal). Mainline tendrá todos los cambios/funcionalidades que necesite porque los ha fusionado explícitamente. Por lo tanto, podría crear y desplegar el contenido de la línea principal directamente en UAT sin tener miedo de que le falte algo. – altern
No, lo siento, eso no es posible. En nuestro entorno, fusionar los cambios en el tronco solo significa que se pondrán en marcha con la próxima implementación. Es por eso que no tenemos problemas con la puesta en marcha, pero con UAT. Además: no significa que una sucursal esté planeada para entrar en funcionamiento con la próxima implementación, solo porque está disponible en el sistema UAT; puede permanecer ahí por un tiempo prolongado (lo cual puede ser causado por clientes que simplemente no se ponen en contacto). tener tiempo para las pruebas). El tronco solo debe reflejar los recursos vivos. –