git jenkins advanced feature

Наша команда использует jenkins и git. Мы планируем реализовать расширенную функцию плагина git, которая позволяет выполнять предварительные сборки перед отправкой коммитов в благословенный репозиторий. См. https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-AdvancedFeatures

Однако у меня возникли проблемы с пониманием всего процесса.

Вот отрывок:

Настройте проект Jenkins и оставьте поле «ветвь» в Git SCM пустым. Это заставит Jenkins рассматривать любые изменения в любой ветке для сборки.

Затем выберите конкретное имя ветки в качестве цели интеграции в разделе «Advanced» (например, «master» или «stable») и выберите « Объединить перед сборкой ».

Выберите« Отправить теги GIT обратно в исходный репозиторий »из действий после сборки (это необходимо для обновления централизованного репозитория git с учетом результатов сборки).

Теперь разработчики никогда не должны выполнить фиксацию непосредственно в своей ветке интеграции («основной» или «стабильный»). Вместо этого они должны либо использовать функциональные ветки, либо создавать новые удаленные ветки при фиксации (например: «git push origin HEAD: refs / heads / myNewFeature»). Вы также можете настроить свой репозиторий GIT так, чтобы он принимал только коммиты в ветку интеграции от Jenkins.

Готово. Коммиты теперь должны автоматически объединяться с ветвью интеграции (они не будут работать, если они не объединятся чисто) и построены. Если сборка завершится успешно, результат слияния будет отправлен обратно в удаленный репозиторий git.

Насколько я понимаю,

  1. Разработчики создают удаленные ветки, из которых jenkins будет извлекать из
  2. jenkins объединит ветку с ее ветвью интеграции и построит
  3. Если сборка завершится успешно, слияние будет перенесено в blessed-repo / master.

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

Так ли это? К сожалению, это не ясно из вики.

Кроме того, знает ли кто-нибудь пример, который я могу посмотреть?

9
задан Phil Miller 24 July 2011 в 22:27
поделиться