2009-05-21 13 views
5

Con el ánimo de mantener mi baúl SVN limpio y listo para el despliegue, he estado utilizando the following source control model. Para los impacientes, el concepto básico es que cree ramas de desarrollo para hacer el desarrollo real, y deje el tronco limpio y listo para el despliegue, en cualquier momento (sin basura en el maletero).TeamCity Projects y Multiple SVN Branches

Además de esto, estoy configurando TeamCity para una integración continua. Dentro de TeamCity, me gustaría asegurarme de que todas las ramas de desarrollo, así como la rama lista para implementar (la troncal, en mi caso) se construyan correctamente y pasen todas las pruebas unitarias.

Esto podría ser una pregunta estúpida, pero al no estar demasiado familiarizado con TeamCity, ¿debería crear un nuevo proyecto TeamCity para cada sucursal? La rama lista para implementar, en particular, tiene algunas reglas adicionales a la rama de desarrollo. Por ejemplo, las versiones deben guardarse en directorios versionados en el sistema de archivos (p. Ej., C: \ Projects \ MyProject \ 1.0.187 ..., C: \ Projects \ MyProject \ 1.0.188 ...) para permitir un fácil acceso a los binarios, en cualquier punto en el tiempo. Por otro lado, no es necesario guardar copias versionadas de los ensamblajes en las ramas de desarrollo y perderá espacio en el disco duro.

Dentro de TeamCity, prefiero ver solo un proyecto para cada proyecto de software. En otras palabras, si mi empresa está trabajando en un número X de proyectos de desarrollo, preferiría ver ese proyecto listado solo una vez, no X * 2 (suponiendo que cada proyecto tenga solo dos ramas).

Respuesta

6

Solo necesita crear un solo proyecto, pero necesitará varias configuraciones de compilación, 1 para cada rama. Por lo que sé, no se puede personalizar el nombre de la carpeta de artefactos en el disco (es un número de incremento automático), sin embargo, puede descargar todos los artefactos como un archivo comprimido en TeamCity 4.5 desde la interfaz de usuario. También hay un planificador incluido con TeamCity que le permite limpiar artefactos para que no consuman demasiado espacio en disco.