Teamcity 9: как добавить git короткий хэш в сборку info patcher
Я пытаюсь использовать ассемблерный патчер для создания номера версии, например:
1.2.3.1a3c19e
где последний бит - короткий хэш git.
Я попытался использовать шаг сборки powershell script для создания короткого хэша (поскольку я не могу найти переменную, имеющую его) и добавляя его к системной переменной, но этот шаг сборки появляется после сборки патчера ассемблера, так что это не очень полезно.
Ответы
Ответ 1
Если вы хотите записать это в поле Информация о сборке, это может быть сделано, но для создания номера сборки требуется отдельная конфигурация сборки. Единственная цель этого шага - создать номер сборки, к которому добавлен хеш.
1. Создайте конфигурацию сборки для генерации короткого хэша
![Build Config]()
2. Добавьте шаг для создания хэша
![Build Config]()
3. Добавьте параметр для хранения хэша
![Param]()
4. Добавьте вторую конфигурацию сборки и добавьте зависимость к первой.
![Dependency]()
5. Теперь вы можете использовать параметр на зависимом шаге
![Consume]()
6. На этом этапе вы можете использовать его в патчере информации о сборке
![Patcher]()
Альтернативой этому является запись вашего номера сборки обратно в Git с помощью функции сборки меток VCS.
![Labeling]()
Надеюсь, что это поможет.
Ответ 2
Если вы имеете в виду сборку .NET, вы не сможете использовать короткий хэш git как номер версии только потому, что он принимает только числа. Вы можете проверить это самостоятельно и поставить версию выше в AssemblyVersion. Бьюсь об заклад, ваше приложение не будет скомпилировано. Вместо этого вы можете использовать% build.counter% variable от teamcity в качестве номера версии.