У нас работает несколько агентов сборки TeamCity, и я хотел бы автоматически уничтожить и перестроить все агенты за ночь, чтобы утром получить чистый набор агентов. Уничтожение и подготовка агента не проблема, но я не могу найти способ автоматически авторизовать новые агенты. TeamCity документация говорит только о веб-интерфейсе, который является довольно плохой отправной точкой для автоматизации.
У кого-нибудь есть решение для этого?
Это должно получить авторизацию нового агента через TC API.
curl -u teamcityuser:userpassword --request PUT --data true --header "Content-Type: text/plain" http://teamcityserver/httpAuth/app/rest/agents/mynewteamcityagent/authorized
Для этого можно использовать официальный плагин. https://confluence.jetbrains.com/display/TW/Agent+Custom+Token+Authorize+Plugin
К сожалению, он позволяет использовать только одного агента на токен, но это хороший момент для начала. Есть также неофициальные плагины, такие как https://github.com/matt-richardson/TeamCityAgentAutoRegisterPlugin которые позволяют автоматическую авторизацию более одного агента на токен
Teamcity не предоставляет автоматическую авторизацию агента, кроме пользовательского интерфейса, но если вы используете те же имена серверов / хостов, вы можете попробовать выполнить резервное копирование и восстановление файла agent.properties, как указано Марселем. этот файл будет иметь ключ авторизации агента
как правильно указано, ссылка на документацию имеет только авторизацию на уровне пользовательского интерфейса, без интерфейса командной строки или плагинов, и это сложный способ сделать это массово
из документации:
они авторизованы в веб-интерфейсе TeamCity.
Агент, работающий на том же компьютере, что и сервер, авторизован по умолчанию..
Я пытаюсь сделать именно это, и, насколько я понял, нам нужна наша система подготовки, чтобы поддерживать файл в <build_agent_work_dir>/conf/buildAgent.properties
с тем же содержимым при перезапусках.
Ссылка: https://confluence.jetbrains.com/display/TCD9/Build+Agent+Configuration