Git и номер версии
Давно уже размышлял как бы это перебросить с SVN, но вот натолкнулся на проектик. Выглядит заманчиво.
https://gitversion.readthedocs.io/en/latest/
Кто уже пользует? Какие впечатления?
Вот другое решение
http://blog.alexei-developer.ru/?p=913
Я использовал. Был очень доволен. Пара небольших багов есть, решается чисткой кеша.
Я правда пока не совсем врубился когда она версию увеличивает, если сам версию не меняешь.
Хотя сегодня наконец отдали нам сервер на растерзание - возник вопрос какой именно Гит сервер пользовать нашли этот сборник
https://secure.phabricator.com/
Вроде тоже неплохо выглядит
Версию вручную менять обычно не требуется. Номер версии автоматически вычисляется исходя из текущей ветки, номера коммита и т.п. Там хитрая система. Версия применяется при билде с помощью интеграции в MSBuild. Таким образом, любые собранные бинарники из любой ветки и из любого коммита имеют однозначно идентифицируемую версию - в этом и удобство. Сделал чекаут, собрал - номер версии проставился автоматом.
Там хитрая система.
Это я понял. Меня смущает первый вопрос
Why is my version not incrementing?
GitVersion calculates the semantic version, this will only change once per release.
https://gitversion.readthedocs.io/en/latest/faq/
потому как хочется иметь номер бильда - Semantic Versioning is all about releases, not builds
У нас номер версии билда генерится CI
А он откуда ее берет? Нужен номер билда для каждой ДЛЛ-ки из проекта.
Для SVN проблем никаких особых проблем не было.
n +=1 :) Номер билда выдается в переменной окружения.
Ну да СИ rebuild all не делает, может прокатить. И на новом компе с исходников не надо компилить.
А чем у вас билд делается? Господи, как вспомню этот кошмар, так плохо становится.
Пока есть только один рабочий вариант - свой лэптоп.
Потому как разных проектов десятки и в основном на территории заказчика. А блокировать там любят всё, либо просто приема может не быть в помещении.
А отчего кошмар? На "жирных" проектах проблемы бывают, но не до такой степени.
Я помню, как писал CMake-билд для одного проекта на 500к loc. Теперь я написал билд для одного легаси проекта на джаве на gradle. Разница колоссальная не в пользу CMake.
тогда понятно. Хотя с СИ тоже самое.
Был на одном проекте вначале бесплатный и пока был человечек который всё сделал с нуля и поддерживал особых проблем не было.
Как ушел, задолбались разбираться в требуемых изменениях и купили платный. Когда я сдавал проект, новый чел. освоился за пару дней, не говоря об обилии дополнительных "плюшек".
Я имел в виду не CI, тут как раз все нормально (можно подвязать любую), а именно систему сборки.
Кстати, нашел случайно еще: https://habrahabr.ru/post/321668/?utm_source=habrahabr&utm...
Спасибо, что не забыли, но похоже это больше для Явы, чем для .НЕТа
У нас номер билда автоматически проставлялся. Вернее, брался из номера коммита. Получались номера что-то типа 1.2.3-hotfix1+456, где 456 и есть номер билда.
Может, они поменяли там всё, конечно. Я уже 2 года как не занимался этим.
Нет, был обычный git, даже не gitlab и не github. К сожалению, по конфигам ничего не могу сказать... Сам репозиторий я не конфигурил, а в солюшен добавил GitVersion через NuGet, и оно само заработало как-то. Не помню, ковырял ли я конфиги самой GitVersion...
Только надо понимать, что эти циферки прописываются в метаданные, то есть в "текстовую" версию. В обычную версию в ресурсах пишется только major.minor.patch, без билда.