Es scheint, dass Sie bereits wissen, was Sie tun möchten, und das Problem ist die große Anzahl von Agenten und Konfigurationen, mit denen Sie umgehen müssen.
Warum automatisieren Sie dies nicht mithilfe der REST-API von TeamCity? Der Server von TeamCity verfügt über eine integrierte HTTP-API, mit der Sie (fast) alle Felder bearbeiten / aktualisieren können, die Sie über die Webschnittstelle verwenden könnten.
Sie können mit der API mithilfe Ihrer bevorzugten Skriptsprache interagieren. Verwenden Sie dazu HTTP-GET / PUT-Aufrufe, um Werte abzurufen und zu aktualisieren. In diesem Fall denke ich, dass es sich lohnt, ein Skript zu schreiben, um zu vermeiden, dass Sie durch die Benutzeroberfläche alle von Ihnen erwähnten Build-Konfigurationen aktualisieren müssen.
Sie schreiben ein einzelnes Skript (in der von Ihnen verwendeten Skriptsprache), die Sie einmal ausführen können, um alle Agentenanforderungen festzulegen. Pseudocode folgt
- Durchlaufen Sie die Projekte in TeamCity
Holen Sie sich die Liste der Projekte
curl -i -H "Accept: application/json" http://teamcity/httpAuth/app/rest/projects --user username:password
- Holen Sie sich den
XXX_VERSION
Parameter aus den Projekten.
Alle Projekte durchlaufen, alle Parameter abrufen und unsere XXX_VERSION analysieren
curl http://teamcity/app/rest/projects/id:PROJECT_NAME/parameters
- Legen Sie die Agentenanforderung in den Build-Konfigurationen fest.
Legen Sie für jede Build-Konfiguration in jedem Projekt die Agentenanforderungen für die Build-Konfiguration mit dem analysierten Wert XX_VERSION fest
curl -X PUT http://teamcity/httpAuth/app/rest/buildTypes/<buildTypeLocator>/agent-requirements/<id> --user username:password
Dies ist die allgemeine Idee, die jedoch nicht vollständig ist. Durch die Verwendung dieses Skripts sparen Sie viel Zeit bei der Verwaltung über die TeamCity-Benutzeroberfläche.