Сейчас я счастливый пользователь TeamCity + Maven + Git. У меня есть одна сборка, например mvn deploy
, которая должна запускаться при каждой фиксации в Git. Все тесты пройдены и все в порядке. знак равно
Но у этой схемы есть проблема: после того, как я запустил mvn release:prepeare
на своей машине, он создает два коммита (с версиями, скажем, 1.1
и 1.2-SNAPSHOT
) в центральном репозитории Git, один из которых помечен 1.1
. Поскольку TeamCity проверяет наличие последней версии каждые N секунд, на самом деле он создает только последнюю версию с номером 1.2-SNAPSHOT
. И таким образом сборка 1.1
фактически никогда не попадает в репозиторий Maven. Политики безопасности не позволяют мне запускать mvn deploy
с моего собственного компьютера, а развертывание репозитория Maven можно выполнить только с компьютера TeamCity.
Таким образом, я хочу запустить обе сборки против обеих коммитов в репо. Насколько я знаю, это невозможно только с одной сборкой, настроенной в TeamCity.
Теперь я использую обходной путь: есть дополнительная сборка, которая создает только «выпускные» коммиты, которые запускаются триггерами с регулярным выражением фиксации. Другой возможный обходной путь — использование дополнительной сборки, созданной для специализированной ветки «выпуск».
Но я не хочу иметь обходные пути и хотел бы заставить TeamCity запускать сборку для каждой фиксации в Git. Это также поможет мне понять неудачные тесты.