Мы строим функции в ветвях GitHub (одна ветвь для одной функции). У нас есть филиал разработки и ведущая отрасль. Оба всегда должны быть зелеными.Триггер TeamCity по запросу Pull против триггера при объединении
Мы используем TeamCity для сборки и развертывания. То, что я хочу получить, заключается в том, что при создании запроса на перенос (из ветки функции для разработки) TeamCity автоматически создает и тестирует запрос, а затем загружает экземпляр EC2, чтобы его можно было вручную протестировать. Когда запрос на извлечение затем объединяется, TeamCity собирает, тестирует и создает изображение докера, которое мы выталкиваем на ECS.
Это все работает, за исключением того, что мы запускаем неправильно.
1) Для построения запроса на растяжение корень VCS имеет по умолчанию ветвь, установленную как develop
, и имеет спецификацию ветвления +:refs/pull/(*/merge)
- мы не хотим только строить запрос на растяжение, а строить объединенный код. Затем мы развертываем это на экземпляр EC2 для ручного тестирования.
2) TeamCity сообщает о статусе построения запроса на вытягивание в GitHub и после ручного тестирования с использованием экземпляра EC2 код объединяется с ветки функций в разработку. На этом этапе мы хотим построить код в разработке, а затем мы выталкиваем новый микросервис на Amazon ECS. Для построения после того, как запрос на растяжение объединяется в разработку, корень VCS имеет набор по умолчанию, заданный как develop
.
В действительности 1 всегда срабатывает, например. как для поднятия запроса на растяжение, так и для слияния. 2 запускается только тогда, когда происходит слияние в развитие, что является правильным.
Любая помощь была бы принята с благодарностью.
EDIT
Я разъяснила две конфигурации сборки мы используем выше
Как вы описали это, это звучит так, как будто есть два корня VCS, или вы пытаетесь динамически установить ветвь по умолчанию (может быть, как я это интерпретировал) Можете ли вы подтвердить, что у вас есть только один корень VCS, и вы не изменяете динамические параметры по умолчанию/ветви. –
У нас есть два корня VCS для проекта, один корень VCS для каждой из конфигураций сборки. Мы не меняем спецификации по умолчанию или ветви динамически, просто мы установили два корня VCS по-разному. – christophmccann
Aha - Я бы поставил под сомнение необходимость в двух корнях VCS, поскольку это должно сработать с одним - Вы хотели поболтать об этом? http://chat.stackoverflow.com/rooms/117201/evolve-software-ltd –