Как повысить производительность сборки teamcity?

У меня есть следующие шаги для моего проекта:

  • build
  • модульные тесты
  • охват тестированием
  • поиск дубликатов
  • fx cop

Есть ли способ заставить TeamCity выполнить 2-5 шагов параллельно? Могу ли я использовать для этого несколько агентов сборки?

Ответы

Ответ 1

Да. Предполагая, что у вас есть как минимум четыре агента сборки, вы можете сделать следующее:

  • В разделе MyProject укажите 5 конфигураций сборки (Build, Unit Tests и т.д.).
  • Измените конфигурации сборки 2-5 и определите новый Trigger в Build Triggering (выберите Finish Build Trigger и установите его для запуска после успешного запуска Build.
  • Измените конфигурацию сборки 2-5 и определите новый Artifact dependency в Dependencies (выберите Add new artifact dependency и выберите вывод конфигурации Build.

До тех пор, пока у вас есть доступные агенты, конфигурации сборки будут запускаться после успешного Build, каждый на своем собственном агенте.

На стороне примечания, не зная вашего конкретного проекта, я бы рекомендовал сделать это, только если весь процесс занимает очень много времени (скажем, более ~ 15 минут), и вы можете сэкономить эти машины (виртуальные или нет)).