TeamCity - установить название ветки VCS перед загрузкой

У меня установлено несколько корней VCS (Core, AuthN, Other). Из-за неконтролируемого сквозного кода, когда мы собираем Other, нам нужно загрузить Core и AuthN, чтобы создать тестовую базу данных для интеграционных тестов. У меня возникли проблемы в том, что у нас будет до 3 разных веток каждого активного в любое время: Current, Patch, Hotfix. При сборке Other необходимо также отключить правильную ветвь других 2 (например, если строится ветвь Hotfix к другому, то нужно тянуть ветку Core и AuthN Hotfix). Поскольку эти конкретные номера сборки меняются на регулярной основе, я не уверен, как получить Other, чтобы определить, какая ветвь ему нужна.

У меня есть Other, настроенный с 3 корнями VCS (один для Other, Core и AuthN), каждый с собственным параметром branchName в качестве ветви по умолчанию. У меня также есть ряд параметров, которые определяют текущую версию исправления и исправления для следующих выпусков. Затем я создал сценарий PS, который использует эти значения плюс текущее имя ветки (версия Other) для установки имен веток Core и AuthN, но этот этап сборки не выполняется до тех пор, пока не завершатся загрузки VCS. Как я могу получить правильную версию Core и AuthN для данной версии Other

1 ответ

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

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

Смотрите скриншот: пример

Если есть изменение в ветви "исправлений" конфигурации сборки Step1 (#8), то соответствующая ветка встроена в Step2. Однако, если в "альтернативной" ветке, которая существует только в Step2, произошло изменение, тогда Step1 будет построен из ветви по умолчанию, которая в этом примере является "master" (#10).

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