В TeamCity есть ли способ изменить параметр сборки с помощью сообщения фиксации?

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

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

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

1 ответ

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

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

Вместо этого я бы порекомендовал настройки для отдельной конфигурации сборки, которая выполняет сброс БД.

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

Таким образом, вы будете сбрасывать БД после каждой сборки интеграции, когда сообщение коммита содержит "магическое заклинание". И вы всегда будете видеть, был ли сброс успешным (или нет)

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