2013-08-13 3 views
0

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

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

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

ответ

0

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

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

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

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

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

+0

Возможно, это, в конечном счете, то, что я получу, но я думаю, что мне нужны некоторые промежуточные шаги, поскольку мы переходим к тестированию, чтобы лучше тестировать UNIT и от тестирования на базе данных. –

+0

@Nikita Skvortsov Есть ли способ сохранить сообщение фиксации в переменной, чтобы я мог использовать его в какой-то другой цели –