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.
Tuve que restringir un poco el despliegue de nuestro servidor de CI, pero una vez que tenga tiempo de terminarlo, intentaré su sugerencia. –
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