Korzystasz z wielu agentów TeamCity na tym samym komputerze?


86

Mamy kilka maszyn do budowania, z których każdy ma jednego agenta kompilacji TeamCity. Każda maszyna jest bardzo mocna i chcielibyśmy uruchomić kilka agentów kompilacji na tej samej maszynie.

Czy jest to możliwe bez wirtualizacji ? Czy istnieją jakościowe alternatywy dla TeamCity, które to obsługują?

Odpowiedzi:


133

Tak, to możliwe :

Na jednym komputerze można zainstalować kilka agentów. Działają jako oddzielni agenci, a TeamCity współpracuje z nimi jako różnymi agentami, nie wykorzystując faktu, że korzystają z tego samego komputera. Po zainstalowaniu jednego agenta można zainstalować kolejnego, pod warunkiem spełnienia następujących warunków:

  • agenty są instalowane w oddzielnych katalogach
  • mają charakterystyczne katalogi pracy i tymczasowe
  • buildAgent.properties jest skonfigurowany tak, aby miał różne wartości dla właściwości name i ownPort

Upewnij się, że nie ma konfiguracji kompilacji, które mają określony katalog bezwzględnego pobierania (alternatywnie upewnij się, że takie konfiguracje kompilacji mają włączoną opcję „czyste pobieranie” i nie mogą być uruchamiane równolegle).

W systemie Windows, aby zainstalować dodatkowe agenty jako usługi, zmodyfikuj [katalog agenta] \ launcher \ conf \ wrapper.conf, aby zmienić właściwości tak, aby miały inną nazwę w komputerze:

  • wrapper.console.title
  • wrapper.ntservice.name
  • wrapper.ntservice.displayname
  • wrapper.ntservice.description

Tylko uwaga, ale pamiętaj, że zrobienie tego nie przyniesie niewielkich korzyści, jeśli komputer agenta nie ma niezbędnych zasobów. Na przykład jednordzeniowa maszyna wirtualna nie będzie działać przez kolejkę kompilacji z trzema agentami znacznie szybciej niż z jednym.
bopapa_1979

13
Jeśli odszedłeś i zainstalowałeś agenty, nie wiedząc o tym powyżej (tak jak ja), uruchom „service.uninstall.bat” na zainstalowanym agencie kompilacji w katalogu / bin, a następnie wykonaj powyższe czynności dla każdego agenta. Następnie uruchom plik „service.start.bat” na każdym agencie.
Brandon,

2
Znakomity. Ale dziwne, że instalowanie wielu agentów nie jest obsługiwane przez kreator instalacji.
Jesper Mygind

Warto zauważyć, że po zainstalowaniu nowego agenta może wystąpić problem, taki jak „Agent Teamcity w stanie rozłączonym (agent wyrejestrował się (dokona aktualizacji))”. Można to rozwiązać, zatrzymując pierwszego agenta (lub innych zainstalowanych agentów) i ponownie uruchamiając nowy z usług (w systemie Windows / Windows Server). Spowoduje to ustawienie nowego agenta z Rozłączony na Połączony.
Santiago Rebella

Uwaga: „ Jeśli używasz instalatora Windows do zainstalowania dodatkowych agentów i chcesz uruchomić agenta jako usługę, musisz wykonać ręczne kroki, ponieważ instalowanie drugiego agenta jako usługi na tym samym komputerze nie jest obsługiwane przez instalator: istniejąca usługa jest nadpisany ”. Zobacz confluence.jetbrains.com/display/TCD10//… \
rsenna

30

Możesz również rzucić okiem na ten wpis na blogu zawierający przewodnik krok po kroku

http://handcraftsman.wordpress.com/2010/07/20/multiple-teamcity-build-agents-on-one-server/


1
Cieszę się, że ten wpis na blogu pomógł niektórym ludziom. Jednak postępowanie zgodnie ze wskazówkami zrujnowało moją dotychczasową usługę. Nawet po całkowitym odinstalowaniu obu usług, usunięciu dwóch katalogów i ponownym zainstalowaniu tylko oryginalnej usługi, nadal nie będzie uruchamiać niektórych zadań, które działały dobrze, zanim zacząłem to wszystko. Gorąco polecam rozwiązanie z odpowiedzi, która uzyskała najwięcej głosów.
sirdank

3

Najlepsza odpowiedź to poprawna metoda, ale jeśli chcesz to zrobić łatwiej, możesz użyć pakietu TeamCityAgent Chocolatey i podać nazwę agenta, folder agenta i port, --paramsa on zajmie się konfiguracją plików konfiguracyjnych, a także ściąganiem w wymaganej wersji Java za pośrednictwem server-jrepakietu.

Jedynym zastrzeżeniem jest to, że musisz użyć go --forcewe wszystkich instalacjach po pierwszym agencie, ponieważ Chocolatey obecnie nie rozumie instalowania tej samej aplikacji z inną konfiguracją jako „nowej” instalacji.

Będziesz także musiał użyć, --version 2.0.1-beta-05ponieważ jest to wciąż w fazie testów, ale wkrótce powinno wyjść z wersji beta.

Przykład pełnej instalacji dla drugiego agenta: choco install teamcityagent --force -y --params 'serverUrl=http://teamcity.local:8111 agentName=AgentUno agentDir=C:\buildAgentUno ownPort=9091' --version 2.0.1-beta-05

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.