web-dev-qa-db-fra.com

Vous exécutez plusieurs agents TeamCity sur le même ordinateur?

Nous avons plusieurs machines de build, chacune exécutant un seul agent de build TeamCity. Chaque machine est très puissante, et nous aimerions exécuter plusieurs agents de build sur la même machine.

Est-ce possible, sans utiliser la virtualisation? Existe-t-il des alternatives de qualité à TeamCity qui soutiennent cela?

82
ripper234

Oui, c'est possible :

Plusieurs agents peuvent être installés sur une même machine. Ils fonctionnent comme des agents séparés et TeamCity travaille avec eux comme des agents différents, sans utiliser le fait qu'ils partagent la même machine. Après avoir installé un agent, vous pouvez en installer un autre, à condition que les conditions suivantes soient remplies:

  • les agents sont installés dans des répertoires séparés
  • ils ont des répertoires de travail et temporaires distinctifs
  • buildAgent.properties est configuré pour avoir des valeurs différentes pour les propriétés name et ownPort

Assurez-vous qu'il n'y a pas de configurations de build pour lesquelles un répertoire d'extraction absolu est spécifié (sinon, assurez-vous que l'option "clean checkout" est activée dans ces configurations de build et qu'elles ne peuvent pas être exécutées en parallèle).

Sous Windows, pour installer des agents supplémentaires en tant que services, modifiez [répertoire agent]\launcher\conf\wrapper.conf pour modifier les propriétés afin qu'elles aient un nom distinct dans l'ordinateur:

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

Vous pouvez également consulter ce billet de blog pour un guide étape par étape

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

29
kay.one

La meilleure réponse est la bonne méthode, mais si vous souhaitez effectuer cette opération plus facilement, vous pouvez utiliser TeamCityAgent Chocolatey package et fournir le nom de l'agent, le dossier de l'agent et le port comme --params et il gérera la configuration des fichiers de configuration ainsi que l'extraction de la version requise de Java via le server-jre paquet.

La seule mise en garde est que vous devez utiliser --force sur toutes les installations après le premier agent car Chocolatey ne comprend pas actuellement l'installation de la même application avec une configuration différente comme une "nouvelle" installation.

Vous devrez également utiliser --version 2.0.1-beta-05 car il est encore en phase de test, mais devrait bientôt sortir de la version bêta.

Exemple d'installation complète pour un deuxième agent: choco install teamcityagent --force -y --params 'serverUrl=http://teamcity.local:8111 agentName=AgentUno agentDir=C:\buildAgentUno ownPort=9091' --version 2.0.1-beta-05

1
dragon788