2009-10-13 21 views
20

Estoy configurando TeamCity y me pregunto qué debería usarse como VCS Root. repositorio¿A dónde debería señalar la raíz VCS de TeamCity?

Mi SVN se encuentra en http://obfuscatedserver/svn/main/MyProject1/

¿Debo establecer la raíz de VCS en http://obfuscatedserver/svn/main/MyProject1/ o utilizar la carpeta del tronco a la http://obfuscatedserver/svn/main/MyProject1/trunk/?

En este momento estoy no usando la carpeta de troncales y tuve que establecer la configuración de Build Runner "Build file path" en "trunk/MyProject1.proj" (usando msbuild).

¿Cuál es la ubicación adecuada?

Respuesta

24

Recomendaría usar http://obfuscatedserver/svn/main/ como VCS Root, y luego restringir las carpetas que están desprotegidas usando las reglas de pago.

Añadir las siguientes normas de pago y envío (sección 2 de la configuración de compilación):

+:/MyProject1/trunk 

Es probable que también tenga que actualizar la ubicación de su archivo msbuild a

MyProject1/trunk/MyProject1.proj 

y establecer el trabajo directorio a

MyProject1/trunk 

Esto parece mucho trabajo, pero la próxima vez que quiera agrega una nueva compilación, no tienes que crear una nueva VCSroot.

Sin embargo, el beneficio real se produce cuando TeamCity sondea tu repositorio SVN. Al sondear su repositorio una vez descubrirá todos los cambios para todas sus construcciones. Esto es especialmente importante si su repositorio está alojado en algún lugar como sourceforge o googlecode. Ciertamente no querrá sondear sus servidores para cada compilación que haya configurado.

Además, si su repositorio está alojado por un tercero, es posible que desee establecer el intervalo de comprobación de vcsRoot a una vez por hora o similar. Siempre puede solicitar a teamcity que compruebe si hay cambios pendientes en el menú de acciones en cualquiera de las páginas de resumen de la compilación si no puede molestarse en esperar que transcurra la hora.

+0

Tuve que restringir un poco el despliegue de nuestro servidor de CI, pero una vez que tenga tiempo de terminarlo, intentaré su sugerencia. –

+4

Puede reasignar el destino en la regla de finalización de la siguiente manera: '+:/MyProject1/trunk => .'. Esto revisará los contenidos de trunk como la carpeta raíz para la compilación y, por lo tanto, la ubicación del archivo msbuild es simplemente 'MyProject1.proj'. Además, puede dejar el directorio de trabajo vacío. – timomeinen

2

Debe usar .../trunk/ya que acelerará el pago, de lo contrario, TeamCity obtendrá todas las sucursales que probablemente no necesite para la compilación.

+1

Puede solucionar el problema de obtener ramas, etiquetas, etc. modificando las reglas de pago. – dthrasher

2

Hasta el presente, he usado ../trunk como raíz. Esto es bueno porque en mi caso todos los proyectos están ubicados debajo del tronco y puedo hacer el pago completo fácilmente.

Pero la característica de etiquetado no funciona porque necesita usar una regla como "trunk => tags" y una raíz que sea uno de los padres de estos directorios. Como me gustaría etiquetar cada versión de lanzamiento, ahora pienso en cambiar a un diseño similar al sugerido por CrazyCoder.

Cuestiones relacionadas