2014-09-03 2 views
1

Мы используем TeamCity также для стиля.TeamCity с пользовательскими условиями сбоя сборки

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

Как настроить обычное условие сбоя сборки? то есть мы должны сравнить, что текущий подсчет ошибок/предупреждений в артефакте меньше (или eq), чем в предыдущем артефакте (последняя успешная сборка). В противном случае эта сборка должна завершиться неудачей.

Артефакт содержит одно целочисленное значение.

ответ

0

Я думаю, что этого нельзя достичь.

Что вы можете сделать, это настроить Failure condition в Failure Conditions разделе конфигурации. Добавляя новое условие Fail build on specific text in build log и используя новую конфигурацию, вы можете выполнить расчет ошибок и вывод сообщения об ошибке.

0

Похоже, что для вашей конфигурации конфигурации требуется только artifact dependency до последней успешной сборки. Затем вы можете сравнить артефакт предыдущей сборки с количеством текущих ошибок/предупреждений из вашего скрипта. В случае увеличения количества ошибок вы можете не выполнить шаг сборки, который не даст вашей сборки.

Вы можете достичь этого путем создания шаблона из сборки в конфигурации и внутри шаблона настроить зависимость артефакта к той же самой конфигурации сборки (по какой-то причине TeamCity не позволяет установив зависимость артефакт же конфигурации сборки в непосредственно) ,

0

Вам нужно сделать 2 вещи.

  1. Вам необходимо опубликовать служебное сообщение для teamcity, которое сохраняет значение ошибок/предупреждений в переменной. Запустите свою сборку по крайней мере один раз, чтобы иметь значение для этой переменной

  2. После того, как вы запустили сборку по крайней мере один раз, отредактируйте «параметры сбоя сборки» и добавьте условие отказа при изменении в метрических условиях на основе переменную, которую вы настраиваете на этапе 1