2008-12-31 17 views
5

Próbuję połączyć wymagania dla nowego środowiska, które składa się z działania TeamCity serwera Sql, kilku agentów kompilacji (na razie) i repozytorium SVN.SVN, Teamcity: wirtualizacja/wymagania sprzętowe

Jest 6 programistów i na dzień dzisiejszy będzie 5 aktywnych rozwiązań w procesie CI, które z czasem będą rosły. Żadne z rozwiązań nie trwa obecnie> 10 minut, więc nie są one zbyt duże pod względem złożoności. & loc.

Projekty budowy będą same potrzebować wystąpienia serwera sql, aby można było uruchomić testy automatyczne - zakładam, że powinny być przechowywane oddzielnie od instancji TeamCity sql.

Czy ktoś może zaproponować konfigurację sprzętową odpowiednią do ich uruchomienia. Czy dysk i/o będzie ważniejszy od rzeczywistej mocy procesora.

Czy mogę uruchomić wszystkie te operacje na jednym procesorze wieloprocesorowym, raid i wirtualizacji?

Czy powinniśmy używać Windowsa i Hyper-v?

Zawsze pozwalałem innym zajmować się wymaganiami serwera i budować, ale teraz muszę zabrudzić stopy.

Wszelkie porady mile widziane

Odpowiedz

9

Punkt danych:

Nasz TeamCity środowisko jest włączony (jeśli dobrze pamiętam) trio serwerów 8-rdzeniowych każdy z 32 GB pamięci RAM, system Windows 2008 i HyperV. Nasze repozytorium SVN znajduje się na innym serwerze (z przyczyn historycznych). Myślę, że wszystko jest teraz w sieci SAN, dla niezawodności (jeśli jeden z hostów przestanie działać, możemy z łatwością przenosić VM do innego hosta).

Mamy 10 agentów kompilacji, wszystkie działają w maszynach wirtualnych. 4 z nich są używane do prostych konstrukcji; 6 z nich jest używanych do budowania i uruchamiania testów systemowych (co obejmuje koordynowanie innych maszyn wirtualnych w testach). Wybraliśmy to, ponieważ niektóre z naszych testów systemowych trwają 11 godzin i nie chcemy wstrzymywać kolejki kompilacji. Mamy podzielone na etapy wydania - projekt idealnie nie zostanie udostępniony działowi testowemu, dopóki nie przejdzie automatycznego testu urządzenia i systemu.

Mamy około tuzina programistów aktywnie pracujących nad 3 lub 4 projektami na raz. Używamy również TeamCity do budowania poprawek i aktualizacji serwisowych.

W twoim scenariuszu wybrałbym Windows 2008 i HyperV na największym polu, na które masz budżet. We/wy dysku jest ważniejsze niż moc procesora, ale z większą liczbą rdzeni można łatwiej skalować do większej liczby maszyn wirtualnych. Mnóstwo pamięci RAM przypisanej do każdej maszyny wirtualnej pozwala uniknąć zamiany i wspomaga buforowanie, co oznacza mniej operacji we/wy dysku. W pewnym momencie możesz rozważyć posiadanie dwóch lub więcej pudełek na wypadek awarii, a ponieważ czasami taniej jest kupić dwa pudełka z 32 GB pamięci RAM, niż kupić opcję 64 Gb dla pojedynczego pudełka.

Jedną z zalet korzystania z maszyn wirtualnych jest to, że można je migać i przywracać je okresowo. Każdy projekt powinien prawdopodobnie mieć własną instancję SQL Server.

+0

Roger, Dzięki za wielki szczegół w odpowiedzi. Bardzo doceniane – redsquare

+0

Po przeczytaniu twojej odpowiedzi ponownie ... 11 godzinny test, wow ... staraj się wyjaśnić, dlaczego tak długo! – redsquare

+1

Jeden z testów uruchamia kilka milionów wierszy w bazie danych, a następnie uruchamia testowany kod. Przeprowadzenie tego jednego testu może potrwać godzinę. –

3

Powinieneś zapoznać się z sekcją Jak w naszej dokumentacji: http://confluence.jetbrains.net/display/TCD65/How+To ... Tutaj znajdziesz "Wymagania sprzętowe dla TeamCity dotyczące oszacowania". Prawdopodobnie to pomoże.

+0

Więcej aktualnego linku z dokumentacji TeamCity 8 to http://confluence.jetbrains.com/display/TCD8/How+To...#HowTo.-.-EstimatehardwarerequirementsforTeamCity – KIR