Polecam użycie http://obfuscatedserver/svn/main/ jako katalogu głównego VCS, a następnie ograniczenie, które foldery są wypisane przy użyciu reguł kasowania.
Dodaj następujące zasady realizacji transakcji (§ 2 kompilacji config):
+:/MyProject1/trunk
Będziesz prawdopodobnie trzeba zaktualizować lokalizację pliku msbuild do
MyProject1/trunk/MyProject1.proj
i ustawić pracę katalog do
MyProject1/trunk
Wydaje się, że to dużo pracy, ale następnym razem, gdy chcesz dodaj nową kompilację, nie musisz tworzyć nowego VCSroot.
Jednak prawdziwa korzyść pojawia się, gdy TeamCity odpytuje twoje repozytorium SVN. Po sondowaniu twojego repo raz odkryjesz wszystkie zmiany dla wszystkich twoich buildów. Jest to szczególnie ważne, jeśli twoje repozytorium jest hostowane gdzieś jak sourceforge lub kod Google. Na pewno nie chcesz odpytywać swoich serwerów za każdą konfigurację, którą skonfigurowałeś.
Ponadto, jeśli twoje repo jest hostowane przez stronę trzecią, możesz ustawić interwał sprawdzania vcsRoot raz na godzinę lub podobnie. Zawsze możesz poprosić teamcity, aby sprawdził oczekujące zmiany z menu działań na dowolnej ze stron przeglądu budowy, jeśli nie możesz się martwić czekaniem na upłynięcie godziny.
Musiałem trochę wstrzymać wdrażanie naszego serwera CI, ale gdy tylko dostanę czas, aby to zakończyć, spróbuję twojej sugestii. –
Możesz zmapować miejsce docelowe w regule kasowania w następujący sposób: '+:/MyProject1/trunk =>.". To sprawdzi zawartość pnia jako folder główny dla kompilacji, a zatem lokalizacja pliku msbuild to po prostu 'MyProject1.proj'. Dodatkowo możesz zostawić katalog roboczy pusty. – timomeinen