Cómo: Hacer referencia a archivos SLN externos con TeamCity
-
06-07-2019 - |
Pregunta
Soy nuevo en TeamCity y tenemos una serie de proyectos comunes bajo control de origen que luego se referencian directamente dentro de los proyectos relevantes, es decir:
Common
branches
tags
trunk
CommonProject
CommonProject.csproj
Common.sln
ProjectX
branches
tags
trunk
ProjectX.sln
Como resultado, la referencia a " CommonProject.csproj " en " ProjectX.sln " es algo similar a ... \ Common \ trunk \ CommonProject \ CommonProject.csproj que está bien en nuestro entorno de desarrollo, pero cuando se trata de TeamCity se cae diciendo que no puede encontrar el camino "... \ Common \ trunk \ CommonProject \ CommonProject.csproj "
¿Cuál es la mejor forma de solucionar este problema? Intenté agregar CommonProject a TeamCity como una dependencia, pero todavía no parece querer jugar a la pelota ...
Gracias
Tim
Solución
Abordamos esto usando Externals en Subversion, que le permite extraer cosas de un repositorio diferente (parte del).
Luego, cuando estamos construyendo las soluciones, tenemos esos proyectos comunes agrupados en las mismas carpetas con la solución específica del proyecto, es decir, cuando revisamos las cosas tenemos:
Solution1
+---Project1
+---Project2
+---Project3
+---Common1
+---Common2
Luego, por separado:
Solution2
+---ProjectA
+---ProjectB
+---ProjectC
+---Common1
+---Common2
Debido a que tenemos los elementos externos y la estructura de directorios / carpetas configurados de esta manera, en teoría, debería poder pagar (o exportar) una " solución " a un directorio vacío y que se cree con éxito desde cero (sujeto a todas las herramientas necesarias que se están instalando) y, por lo tanto, TeamCity (o lo que sea su servidor de integración continua) también debería poder construirlo desde cero. De hecho, incluso antes de comenzar a usar TeamCity, tenía esto como política, pero el valor es más claro una vez que comience la integración continua.
El fragmento apropiado del Libro Rojo de Subversion está aquí: Definiciones externas