Как запросить зависимости моментальных снимков в TeamCity после добавления новых элементов в очередь сборки с более высоким приоритетом?

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

A
B
C D E

Каждая сборка имеет зависимость моментального снимка от предыдущей конфигурации в цепочке, что означает, что сборка B зависит от A, а сборки C, D и E зависят от B.

Каждая конфигурация имеет триггер, настроенный для успешного завершения предыдущей сборки в цепочке. Проблема с этой настройкой заключается в том, что личные тесты запускаются для тестирования удаленных изменений. Если B работает в точке, где удаленное изменение добавляется в очередь против A, сначала выполняется личная сборка A (персональная сборка), а C, D и E добавят очередь. Причина, по которой это является проблемой, заключается в том, что C, D и E являются тестами, запускаемыми для кода, который развернут на этапах A и B. Это означает, что код эффективно повторно развертывается с личными изменениями до запуска тестов.

Есть два приемлемых способа решить эту проблему

  1. После запуска A в качестве личной сборки, выполните команду A для запуска без этих изменений до C, D и E
  2. После запуска A в качестве личной сборки удалите C, D и E из очереди сборки, так как не обязательно, чтобы тесты выполнялись для каждого коммита

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

Является ли это плохим способом настройки TeamCity, и если да, то каким будет лучший способ структурировать цепочку сборки?

1 ответ

Решение

Я решил проблему путем реализации принятого ответа на этот вопрос:

Можно ли предотвратить прерывание цепочки сборки в TeamCity?

В этом решении реализован вариант 1 сверху. Используя текстовый файл, содержащий текущие развернутые значения, сборки можно отменить / повторно запустить по HTTP, если зависимость устарела.

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