Масштабирование цепочек сборки TeamCity

У нас есть много проектов, которые обрабатываются, создаются и развертываются одинаково, и мы хотим создать единую цепочку сборки TeamCity для всех них.

Наша сборочная цепочка должна содержать:

  • Компиляция и тестирование по запросу и разработка ветки.
  • Анализ SonarQube для запросов извлечения.
  • Публикация и автоматическая маркировка NPM для объединенных запросов на разработку.

Все проекты являются пакетами NPM, которые соответствуют следующим требованиям:

  • необходимые скрипты: установить, протестировать, очистить, собрать
  • package.json и sonar-project.properties в корне

У нас была идея использовать общие параметризованные сборки для публикации SonarQube и NPM, поскольку они не зависят от самого проекта, но похоже, что TeamCity не поддерживает ничего подобного, если мы не копируем цепные сборки для каждого проекта.

В идеале это должно выглядеть примерно так:

Общая цепочка сборки

Проблема здесь в том, что если я добавлю триггеры для завершения сборки и добавлю зависимости к SonarQube и публикации NPM для всех проектов, это потребует сборки каждого проекта, а не только того, который только что был построен.

TeamCity обеспечивает что-то вроде этого, имея возможность дублировать конфигурации сборки:

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

0 ответов

Другие вопросы по тегам