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

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

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

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


person Jeff Martin    schedule 13.08.2013    source источник


Ответы (1)


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

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

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

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

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

person Nikita Skvortsov    schedule 19.08.2013
comment
Это, вероятно, в конечном итоге то, к чему я доберусь, но я думаю, что мне нужны некоторые промежуточные шаги, поскольку мы перемещаем больше тестирования в сторону лучшего тестирования UNIT и от тестирования базы данных. - person Jeff Martin; 20.08.2013
comment
@Nikita Skvortsov Есть ли способ сохранить сообщение коммита в переменной, чтобы я мог использовать его для других целей? - person Nevin Raj Victor; 21.05.2015