Procedura: fare riferimento a file SLN esterni con TeamCity
-
06-07-2019 - |
Domanda
Sono nuovo di TeamCity e abbiamo un certo numero di progetti comuni sotto il controllo del codice sorgente a cui si fa riferimento direttamente all'interno di progetti pertinenti, ad esempio:
Common
branches
tags
trunk
CommonProject
CommonProject.csproj
Common.sln
ProjectX
branches
tags
trunk
ProjectX.sln
Di conseguenza, il riferimento a " CommonProject.csproj " in " ProjectX.sln " è qualcosa sulla falsariga di .... \ Common \ trunk \ CommonProject \ CommonProject.csproj che va bene nei nostri ambienti di sviluppo ma quando si tratta di TeamCity cade dicendo che non riesce a trovare il percorso & ...; \ Common \ tronco \ CommonProject \ CommonProject.csproj "
Qual è il modo migliore per aggirare questo problema? Ho provato ad aggiungere CommonProject a TeamCity come dipendenza ma non sembra ancora voler giocare a palla ...
Grazie
Tim
Soluzione
Ci occupiamo di questo usando Externals in Subversion che ti permette di estrarre cose da un repository diverso (bit del).
Quindi, quando stiamo costruendo le soluzioni, abbiamo quei progetti comuni raggruppati nelle stesse cartelle con una soluzione specifica per un progetto - cioè quando controlliamo le cose abbiamo:
Solution1
+---Project1
+---Project2
+---Project3
+---Common1
+---Common2
Quindi, separatamente:
Solution2
+---ProjectA
+---ProjectB
+---ProjectC
+---Common1
+---Common2
Poiché abbiamo gli esterni e la struttura di directory / cartelle configurati in questo modo, in teoria dovresti essere in grado di effettuare il checkout (o l'esportazione) di una soluzione "quotata"; in una directory vuota e costruirla con successo da zero (soggetto a tutti gli strumenti necessari che vengono installati) e quindi TeamCity (o qualunque sia il tuo server di integrazione continua) dovrebbe essere in grado di costruirla anche da zero. In effetti anche prima di iniziare a utilizzare TeamCity avevo questa politica, ma il valore è più chiaro quando inizi a fare l'integrazione continua.
Il bit appropriato del libro rosso Subversion è qui: Definizioni esterne