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?
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:
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:
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/
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