В настоящее время я работаю над проектом, который предусматривает непрерывную интеграцию и развертывание. Мы работаем с использованием методов Git Flow, где для работы с функциональностью создается ветвь feature/*
, которая затем объединяется в develop
после того, как запрос на слияние был рецензирован. Как только мы хотим выпустить новую версию, мы создаем ветку release/x.y.z
, и, как только она будет одобрена, мы объединяем в master
.
Проблема здесь в том, что текущий проект требует, чтобы каждая новая сборка (таким образом, каждая фиксация / слияние в ветви release/x.y.z
или master
) имела уникальный номер сборки путем увеличения номера сборки. Этот процесс работает отлично, за исключением того, что когда что-то объединяется с мастером, мы не объединяем его обратно в develop
автоматически, что означает, что в итоге у нас будет одинаковый номер сборки для похожих версий.
Мы используем GitLab Enterprise вместе с GitLab Runners, чтобы запустить наш процесс сборки и увеличить номер сборки, а затем зафиксировать его с помощью тега [skip ci]
в сообщении фиксации, чтобы предотвратить запуск новой сборки. Я знаком с самыми обычными командами git, но я не уверен, как можно автоматизировать процесс объединения изменений из ветви master
обратно в develop
, без необходимости вручную объединять или создавать запрос на слияние и желательно, не загромождая всю историю коммитов version bump
коммитами.
Какие у меня есть варианты?