Obecnie używamy raz serwera cc.net do naszego procesu kompilacji, który buduje zarówno .net (używając msbuild & nant), jak i java (używając maven i ant).
CC.net monitoruje kontrolę źródła i wyzwala zdalną kompilację działającą na osobnym serwerze. CC.net następnie zestawia wyniki.
Kiedy uruchamiamy kompilację zdalną, zazwyczaj:
- uruchamia nunit lub junit lub podobny przy użyciu fałszywych danych
- opcjonalnie uruchamia skrypt DB, aby utworzyć nową instancję bazy danych lub przywrócić bazę danych ze znanej pozycji.
- uruchamia selen lub podobny do testowego interfejsu użytkownika
- uruchamia emma lub ncover w celu pokrycia kodu
- buduje system dla różnych środowisk wdrażania (test, akceptacja, produkcja)
Jednocześnie może być uruchomionych kilka wersji, niektóre .net i niektóre Java (z różnych zespołów projektowych).
Uruchomienie zdalnych kompilacji zajmuje dużo czasu, gdy konfigurujemy nowy projekt i uważamy, że musi istnieć coś bardziej odpowiedniego do kompilacji zdalnych niż cc.net.
Czy ktoś ma jakieś doświadczenie ze zdalnymi kompilacjami z systemami ciągłej integracji?
Naprawdę nie chcę list funkcji serwerów CI, byłbym bardziej wdzięczny za informacje o tym, jak wykorzystałeś je w środowisku wielojęzycznym i wieloserwerowym.