Actualmente estoy trabajando en un proyecto en .NET que consta de varias capas lógicas y varios frontales. Aquí es una representación aproximada de nuestra estructura SVN:Subversion: Branch per Environment?
trunk
---doc
---lib
---src
------console
---------console.vbproj
------domain
---------domain.vbproj
------...
------web
---------web.vbproj
---.sln
Todo nuestro desarrollo del día a día que ocurre en el tronco - aquí es donde todos los desarrolladores Checkout desde/a cometer.
Estoy buscando una manera de implementar de forma limpia y fácil entre entornos (prueba y producción).
Mi idea es crear dos ramas, prueba y producción, desde trunk - solution y todo. Yo estoy justificando esto a mí mismo por las siguientes razones:
- tengo un control completo sobre la que fluyen las modificaciones a las que los entornos sólo por la fusión del tronco a la rama de prueba y de la rama de prueba a la rama de producción
- que pueda ver fácilmente qué código se está ejecutando en cada entorno simplemente mirando el registro de la rama correspondiente en Subversion
¿Alguien ha tenido alguna experiencia con una solución similar a esta? ¿Hay algún peligro potencial o descuido que me falta?
Por si acaso alguien todavía tiene curiosidad, hay varias publicaciones en el blog sobre este enfoque; solo Google "rama por promoción".Creo que la mayor parte del material es solo una regurgitación de lo que Jeff Atwood originalmente escribió en su blog en octubre de 2007: [ver aquí] (http://www.codinghorror.com/blog/2007/10/software-branching-and -parallel-universes.html) – TMcManemy