Как автоматически увеличивать версию сборки GitLab?
Добрый день.
Подскажите как встроенными настройками GitLab увеличивать версию сборки при коммите по принципу X.X.
Менять минорную и мажорную версии можно пока руками, но вот версию сборки хотелось бы менять автоматически.
Использовать precommit можно, но пока это излишне и у нас нет сервера сборки проектов.
Удобным было бы использовать как-то тегирование, но не понимаю как настроить.
Не совсем понял про есть или нет линия сборки...
Если всё-таки есть - то использовать например CI_PIPELINE_ID или CI_PIPELINE_IID из предопределенных переменных.
d-stream, я видимо некорректно выразился по поводу сборки.
Для меня сборка сейчас, это просто коммит.
Опишу процесс чтобы стало понятно о чём я.
К примеру изначально есть скрипт который выгружен первый раз на гит.
Его версия 1.0.1
Где 1 в конце, это по сути номер коммита.
Далее к примеру мы вносим правки в скрипт, делаем коммит и выгружаем на гит.
Получаем версию 1.0.2 и так далее.
Если вносим доработки расширяющие функционал, увеличиваем минорную версию (пока руками) до 1.1.2
Все манипуляции производятся в одной ветке. У нас нет разделения на dev и master.
Вижу много вариантов засад. К примеру хорошим стилем является делать множество коммитов в связке со смысловыми изменениями. То есть один коммит - правка функции xxx, следующий - правка функции yyy (притом в текстовом редакторе - вообще могло быть несколько сохранений меняющегося файла). И только спустя какое-то время кучка коммитов - отправляется в удалённый репозиторий (push).
Вот и сразу вопрос - когда инкрементить версию?
- по сохранению
- по коммиту
- по пушу
Притом до пуша - собственно все изменения производятся в локальных копиях репозитория == гитлаб о них и не знает
d-stream, Получается пуш => повышение версии
Вообще идеальным вариантом было бы отправлять при пуше тег типа какого рода изменения вносятся мажор, минор или патч. Или это уже и есть использование переменных?
Просто идеологически - это слегка наизнанку: пуш = отправка из локальной копии репозитория в основной. И там много танцев с тем чтобы все хэши совпали. И вдруг что-то где-то меняется... и как следствие - меняются хэши... То есть вся суть гита как такового рассыпается.
В такой цепочке - максимум приближенного к реальности - это сборка по пушу неким образом меняет версию и это изменение - коммитится.