Выберите ветку Git для конфигурации сборки TeamCity.

Я хочу выполнить отслеживание через teamcity в моем поле CI.

Master branch commit : Build and Release
Beta branch commit: Build and Release to Crashlytics
All other commits to any other branch: Build

(примечание, поскольку большинство наших веток разработки могут содержать префикс или не содержать его, это затрудняет использование именования веток «feature-*»)

После этого вопроса Выберите ветку Git для TeamCity Build

Я создал параметры конфигурации в настройках моего проекта

введите здесь описание изображения

а потом

мои корневые настройки VCS

введите здесь описание изображения

Затем я создал шаблон сборки

введите здесь описание изображения

Когда я создал сборки, я убедился, что имя ветки правильное

введите здесь описание изображения

Я также пытался редактировать триггеры

введите здесь описание изображения

Как бы то ни было, это не работает, потому что, когда я нажимаю коммит на бета-ветку

Я думаю из-за ref/heads/* сборки по умолчанию работают все ветки

а Beta и Master отображают «Ожидание»

введите здесь описание изображения

Как я могу это исправить?


person u.gen    schedule 30.12.2015    source источник


Ответы (2)


Я решил проблему, поговорив с другими разработчиками и убедившись, что все ветки разработки используют префикс, в данном случае XAAI-

затем в моих корневых настройках VCS

введите здесь описание изображения

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

например для QA (Betabuild)

введите здесь описание изображения

это сложная часть, для веток разработки мне пришлось указать пустой параметр, я не знаю почему (может быть, потому что что-то нужно проверить ветку по умолчанию, которая должна быть ref/heads/) но какой бы ни была причина, он работает.*

введите здесь описание изображения

и тогда, наконец, все это выглядит так

введите здесь описание изображения

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

person u.gen    schedule 12.01.2016

Если вы хотите, чтобы ваши сборки запускались автоматически только при отправке ветки по умолчанию, вы можете добавить фильтр ветки к триггеру, например +:<default>.

Это зависит от предположения, что вы правильно настроили параметр %BranchName% в каждой конфигурации сборки. IE, для вашей сборки по умолчанию сделайте параметр %BranchName% = master.

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

person Adam Funderburg    schedule 31.12.2015
comment
Если вы делаете несколько корней vcs, как вы делите Build Number между ветвями? - person u.gen; 31.12.2015