Pull to refresh
0
0
Алексей Харланов @SirAlex77

Системный программист

Send message
У нас в корне проекта лежит файл version, в котором прописывается номер версии продукта, которую надо собрать.
Файл version либо руками модифицируется, когда например стартуем новую ветку продукта, либо автоматом из батника.
Процесс сборки начинается, если запушить тегированный коммит (можно руками, можно батником который инкрементирует версию и пушит на сервер коммит с тегом).

Скрипты Ant поднимают версию из файла — таким образом Ant знает какую версию собирает и куда выкладывать результат сборки. Ant генерит rc файл со всеми нужными строками и подставленной версией (так она попадает в свойства EXE/DLL), дополнительно генерится inc файл где костантами прописывается версия, название приложения, компания и т.п. для целей потом использовать в самом приложении, например выводить в лог.

GitLab крутится на одном серваке, а сборка идет на другом (под Windows).

Ночные сборки не делаем, но при каждом пуше на сервер, запускается лайтовая (без цифровых подписей, без инсталлера) сборка с юнит тестами.

MSBuild не стали использовать потому что у нас были проекты под Delphi 7, а теперь еще и Golang, C++ и т.п.
Apache Ant гибкая система, мы просто написали ряд макросов (запуск компилятора, подпись результата, сбор отладочных файлов (dbg, pdb, сборка инсталлятора и т.п.)
Мы уже несколько лет собираем проекты под GitLab CI, для сборки используем скрипты Apache ANT. Там нет ничего сложного, по сути — GitLab CI Runner просто выкачивает исходники в темповую папку и запускает скрипт ant. Но это может быт и MSBuild при желании.

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity