Создание TeamCity Git/запросы на вывод GitHub

У нас есть установка TeamCity 7.1, которая строит все ветки из репозитория GitHub.

У GitHub есть уведомление, чтобы вернуться к TeamCity, чтобы вызвать сборку при регистрации. Мы также проводим опрос TeamCity GitHub каждые 120 секунд для проверки изменений (в случае, если сервер был отключен, когда было отмечено изменение).

Наша нормальная разработка следует общей схеме:

  • Создать ветку из мастера
  • Зафиксируйте эту ветвь до завершения с помощью функции
  • Закончив, вытащите мастер, чтобы слить любые изменения и нажать на удаленный
  • Отправьте запрос на загрузку GitHub, чтобы админы могли объединиться в master

Все работает плавно (после долгих поисков, чтобы получить правильные настройки конфигурации), однако...

Вышеупомянутый процесс запускает несколько сборок TeamCity, и я хотел бы знать, все ли они необходимы. Обычно мы получим:

  • Строка для /refs/heads/branch -name
  • Строка для /refs/pull/number/head
  • Строка для /refs/pull/number/merge

Естественно, первая сборка - это последняя регистрация на конкретной ветке, а вторая сборка - запрос на растяжение, но , что является третьей сборкой для?

Ответ 1

Ваши сборки кажутся излишними. Более экономный способ организовать сборки TeamCity для ветвей функций в git выглядит следующим образом:

  • Организуйте непрерывную интеграцию ветки refs/heads/master. 120-секундный опрос здесь вполне резонный.
  • Организуйте ночные сборки для каждой ветки refs/heads/feature-name. По моему опыту, только некоторые из функций-ветвей требуют опроса на 120 секунд.

TeamCity 7.1 имеет очень приятную функцию для автогенерирования ветвей функций, поэтому шаг (2) можно настроить за пару кликов с помощью маски ветвления, например refs/heads/feature-*.

В построении запросов на растяжение нет смысла, поскольку они будут покрыты мастер-сборками.

Ответ 2

Третья сборка на самом деле самая ценная - это результат автоматического слияния запроса на загрузку (слияние происходит, когда вы нажимаете кнопку в github).