Настройте конфигурацию TeamCity для запуска только после нескольких успешных сборок в цепочке - PullRequest
0 голосов
/ 20 марта 2019

В настоящее время мы работаем TeamCity Enterprise 2017.1.5 (build 47175) и пытаемся настроить следующий набор шагов для нашей сборки:

  • При первоначальном запуске запустите конфигурацию сборки Step 1
  • Если Step 1 успешно, запустите конфигурации сборки 2A, 2B и 2C одновременно
  • Если все шаги (2A, 2Bи 2C) успешно, запуск конфигурации сборки Step 3

По сути, мы пытаемся ускорить общее время сборки, позволяя нескольким конфигурациям сборки работать параллельно друг другу.Все конфиги 2 могут работать независимо до тех пор, пока Step 1 успешно выполняется, поэтому мы настраиваем их все для запуска после успешного построения Step 1.

Однако Step 3 по сути является конфигурацией сборки развертывания.Это должно выполняться только в случае успеха всех предыдущих конфигураций (Step1, 2A, 2B, 2C).

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

Build Flow

Ответы [ 2 ]

1 голос
/ 25 марта 2019

Просто используйте Зависимости .

1) Извлеките step 3 и step 1 как другие конфигурации сборки. (Например, скажем, build 3 и build 1)

2) открыть настройки конфигурации сборки для 2A, 2B, 2C, перейти к Зависимости .

Добавить Зависимость снимка к build 1 enter image description here

Добавить Зависимость от артефактов до build 1 с параметрами Сборка из одной цепочки (это важный момент !!!)


Открыть настройки конфигурации сборки build 3
Добавьте 3 Зависимость снимка к 2A, 2B, 2C в качестве предыдущего шага.
Добавьте 3 Зависимость от артефактов к 2A, 2B, 2C с параметрами Построить из той же цепочки , что и предыдущий шаг

В итоге вы добьетесь результатов. ТС будет перестраиваться только в том случае, если в какой-то конфигурации произошли изменения, в противном случае повторно использовались существующие.

Смотрите мои зависимости конфигурации

Развертывание всех настроек приводит к повторному развертыванию Cassandra DB и повторному развертыванию 2 сборок.

Deploy 1 и Deploy 2 нужны результаты Кассандры и артефакты из сборок. Итак, оба из Развертывания нуждаются в Кассандре, но по отдельности нужна сборка. enter image description here

0 голосов
/ 23 марта 2019

Это должны быть отдельные этапы сборки в командном городе, командный город может выполнить только один шаг за раз для сборки или бегуна.Эти 2a, 2b и 2c следует разделить на этапы 2, 3 и 4 соответственно.Город команды не может быть параллельным строительству в пределах бегуна

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...