2012-10-21 11 views
7

Mam 2 różne aplikacje skonfigurowane w teście źródłowym tfs. Oba mają wspólną bibliotekę, również skonfigurowaną w kontroli źródła.sposób obsługi wspólnej biblioteki w bibliotekach TFS i bibliotekach udziałów

Bieżący proces zmian w wspólnej bibliotece polega na utworzeniu go, skopiowaniu całej biblioteki DLL do miejsca, w którym inne aplikacje mogą pobierać i pracować. Jest to instrukcja obsługi i nie działa dobrze, szczególnie teraz, gdy przechodzę do wersji TFS CI.

Układ taki w TFS:

-TFS 
    - Web 1 
     | Main 
     | RB_1_0 
    - Web 2 
     | Main 
     | RB_1_0 
    - Shared 
     | Main 
     | RB_1_0 
     | RB_2_0 
     | RB_3_0 

Więc szukam to zmienić, zautomatyzować. Ale nie jestem pewien, jak mogę to zrobić. Jak widać, istnieje wiele oddziałów itp. Jako wspólna biblioteka rozważałem konfigurację tak, jak pracuję z pakietami nuget, gdzie zmiany są przekazywane do mojej sieci 1 i/lub sieci 2. Nie jestem pewien, jak łatwo jest to zrobić. aby to ustawić.

Czy można przejrzeć powyższą strukturę i wyrazić opinię na temat najlepszego sposobu zarządzania dystrybucją wyjściowych bibliotek dll ze wspólnego? W środowisku CI? Czy Nuget jest najlepszą opcją?

Odpowiedz

9

Do tego używam NuGeta.

Modyfikacja procesu kompilacji, aby tworzyć nowe pakiety dla wspólnego pakietu

Dodaj do build a nuget package działalność, a inny, który kopiuje go do udziału sieciowego używanego jako repozytorium Nuget. Istnieje kilka projektów pływających wokół takich jak Tfs NuGetter, które mogą być używane zamiast ręcznej edycji szablonu kompilacji.

Jeśli nie chcesz modyfikować szablonu kompilacji, możesz użyć narzędzia takiego jak [tfs deployer] i napisać niestandardowy skrypt wdrożeniowy, który tworzy pakiety NuGet. Lub napisz coś, co zostanie dołączone do zdarzenia kompilacji.

Włącz Przywracanie pakietów na budowie dla wszystkich rozwiązań

Oznacza to, że nie trzeba przechowywać pakiety w kontroli źródła, lub zająć się pakiety nie pobierając gdy pojawi się najpóźniej w dniu rozwiązania.

Gdy chcesz zaktualizować wersję zależności, otwórz rozwiązanie i zaktualizuj je tak, jak każdy normalny pakiet NuGet.

Powiązane problemy