2015-03-05 4 views
2

У меня есть проект TeamCity с несколькими суб-объектами. Как получить подпроект для запуска на конкретном агенте без жесткого кодирования его в предложении агента? Я хочу сделать что-то вроде ..Требования к команде Teamcity Agent

Team City Agent Requirement

Таким образом, вместо того, чтобы копировать подпроект для каждого агента я могу только один проект и указать имя агента во время выполнения в некоторой конфигурации. Использование TeamCity 9.

ответ

2

Вы можете создавать пулы агентов и назначать определенные агенты для проекта. Для этого нажмите ссылку «агенты» вверху.

В принципе, вы можете определить, какие цели конкретного проекта должны выполняться только для определенного агента.

EDIT Если вы хотите определить его во время выполнения, вам нужно вернуться к определению требования агента к объектам. Вы устанавливаете пареметр для имени агента в первой цели. Во всех последующих целях вы можете создавать цепочки создания и передавать параметры с одной цели на другую. В определении цели вы устанавливаете условие агента, указывающее, что имя агента соответствует любому значению, которое вы передаете в своей настраиваемой переменной. В первой цели вы можете иметь приглашение/выпадающий список, и вы можете инициализировать запуск на основе агента для полной цепочки сборки.

Или вы можете назначать и отменять назначение агентов из пулов проектов перед каждым прогоном, а затем запускать цели. Для ex в пуле агентов вы можете настроить Project A только на агент 1. По завершении запуска вы измените Project A для запуска только на target2.

Я рекомендую первый вариант по второму

+0

благодарит за предложение. Можно ли запускать все цели проекта на конкретном агенте, который определен в «runtime»? Я хочу установить флаг и сказать, что теперь запускаем проект на agent1 и теперь запускаем его на 2 и т. Д. – devl

+0

Дженкинс выполняет это через «плагин матрицы», я не уверен, что TeamCity имеет что-то подобное, но я также ищу способ сказать «запустите X config через КАЖДОГО агента», но я хочу сделать это по одному. – dragon788

0

Этот плагин может делать то, что вы хотите. Вы можете определить ряд различных значений для одного и того же параметра (ов), и он будет работать через все из них. Это могут быть имена агентов или переменные среды или версии node.js или что-то еще.

https://github.com/presidentio/teamcity-matrix-build-plugin

Смежные вопросы