Как запустить все сборки подряд в проекте Teamcity с одной и той же веткой оформления заказа - PullRequest
1 голос
/ 05 ноября 2019

У меня есть проект Teamcity с VCS Root, настроенный так:

  • Ветвь по умолчанию: develop
  • Спецификация ветки: +:refs/heads/(*)

Надеюсь, это означает, что я могу передать любое имя филиала, и оно будет успешно обработано. Проект содержит две сборки. Пусть это будет STEP_A и STEP_B.

STEP_B имеет триггер finishBuildTrigger:

{ buildType = "${STEP_A.id}" branchFilter = "+:*" }

, что означает, что он запустится после окончания STEP_A.

Я хочу запустить все сборки через REST API. Я делаю POST /app/rest/buildQueue с параметром branchName = "feature_222".

Хорошо, я вижу, что STEP_A успешно начинается с проверки feature_222 ветви. После его окончания STEP_B начинает работать, НО с проверкой ветки develop. Конечно, это нежелательное поведение.

Что мне сделать, чтобы это исправить?

1 Ответ

0 голосов
/ 05 ноября 2019

Я бы переконфигурировал этот конвейер так, чтобы полагаться на зависимость моментального снимка , а не на триггер окончательной сборки . Итак, выполните следующие действия:

  • Удалите (или просто отключите, чтобы попробовать) finishBuildTrigger
  • Добавьте новую зависимость снимка с шага B на шаг A (вНа приведенном ниже снимке экрана показано, что он настроен с Deploy конфигурации на Build)
  • Запуск сборки Шаг B с помощью REST API

Вот как это выглядит:

enter image description here

Согласно документации:

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

Короче говоря, зависимость моментального снимка - это механизм для принудительного применения той же версии (моментального снимка) источников, которые создаютсяцепочка сборки.

Подробнее см. В официальной документации 1038 *.

...