В TeamCity есть ли способ изменить параметр сборки с помощью сообщения фиксации?
Я знаю, например, что я могу сделать так, чтобы сборка не запускалась, когда я помещаю определенный текст в сообщение коммита. То, что я хотел бы сделать, это сделать так, чтобы я мог изменить значение параметра на основе сообщения фиксации, которое запускает сборку.
В частности, у меня есть параметр сборки, который скрипт просматривает, чтобы определить, обновлять ли локальную базу данных для интеграционных тестов. Это используется, когда мы вносим изменения в базу данных или если интеграционный тест грязный и не очищает после себя, мы можем заставить сборку обновить БД до стабильного состояния.
Я хотел бы иметь возможность добавить какой-то конкретный текст в сообщение фиксации, которое затем может изменить этот параметр (или, в идеале, его не будет читать скрипт, который в данный момент читает параметр сборки), чтобы запустить сборку для обновления БД. Я использую Teamcity 8.
1 ответ
Добавление условного поведения такого рода не очень хорошая идея. Когда ваша сборка начинает выполнять различные операции, вы можете потерять фактический статус (красный / зеленый), например
- Сборка пытается очистить БД, но не может.
- Следующая сборка не пытается сделать это и зеленый
- результат операции очистки БД потерян, так как статус конфигурации сборки теперь зеленый
Вместо этого я бы порекомендовал настройки для отдельной конфигурации сборки, которая выполняет сброс БД.
В конфигурации "Сброс БД" добавьте зависимость моментального снимка для "Интеграционного теста" с включенной опцией "выполнить сборку на том же агенте" и триггером VCS, который прослушивает ваше конкретное сообщение о коммите.
Таким образом, вы будете сбрасывать БД после каждой сборки интеграции, когда сообщение коммита содержит "магическое заклинание". И вы всегда будете видеть, был ли сброс успешным (или нет)