Наша команда использует jenkins и git.Мы стремимся реализовать расширенную функцию плагина git, которая позволяет выполнять предварительную сборку, прежде чем отправлять коммиты в благословенный репозиторий.См. https://wiki.jenkins -ci.org / display / JENKINS / Git + Plugin # GitPlugin-AdvancedFeatures
Однако у меня возникают проблемы с пониманием всего процесса.
Вот выдержка:
Настройте свой проект Jenkins и оставьте поле 'branch' в поле Git SCM пустым.Это заставит Jenkins рассмотреть любые изменения в любой ветви для сборки.
Далее выберите конкретное имя ветви в качестве цели интеграции в разделе «Advanced» - (например, «master» или «stable»),и выберите «Объединить перед сборкой».
Выберите «Переместить теги GIT обратно в исходный репозиторий» из действий после сборки (это необходимо для обновления вашего централизованного репозитория git с результатами сборки).
Теперь разработчики никогда не должны связываться напрямую с вашей веткой интеграции («master» или «stable»).Вместо этого они должны либо использовать функциональные ветви, либо создавать новые удаленные ветви при фиксации (например: «git push origin HEAD: refs / head / myNewFeature»).Вы также можете настроить свой GIT-репозиторий так, чтобы он принимал коммиты только в ветке интеграции от Jenkins.
Все готово.Коммиты теперь должны быть автоматически объединены с веткой интеграции (они потерпят неудачу, если они не объединяются чисто) и собраны.Если сборка завершится успешно, результат слияния будет перенесен обратно в удаленный репозиторий git.
Я понимаю, что
- Разработчики создают удаленные ветви, из которых jenkins будет извлекать из
- jenkins объединяет ветку с его веткой интеграции иbuild
- Если сборка завершится успешно, слияние будет отправлено в blessed-repo / master.
Вопрос в том, если сборка не удалась, в каком состоянии находится ветвь интеграции?Я бы только предположил, что он как-то возвращается к коммиту до слияния.Если нет, то ветвь интеграции сохранит объединение, которое нарушило сборку, что сделает невозможным объединение и построение других ветвей.
Это правда?К сожалению, это не ясно из вики.
Кроме того, кто-нибудь знает пример, который я могу посмотреть?