Как я могу запретить GitVersion включать хеш коммита в номер версии?

Я только начал использовать GitVersion в TFS 2018.3 (VSTS, Azure DevOps) и действительно пробовал легкий вариант. Я использую задачу GitVersion TFS Marketplace прямо из коробки. Я пометил основную ветку 1.1.0.0 и запустил сборку.

Журнал сборки показывает:

2018-10-25T15:39:53.1843138Z INFO [25.10.18 17:39:53:08] Обновление файлов информации о сборке 2018-10-25T15:39:53.1843138Z INFO [25.10.18 17:39:53:18] Найдено 42 файла 2018-10-25T15:39:53.3123172Z [раздел] Запуск асинхронной команды: обновление номера сборки 2018-10-25T15: 39: 53.3123172Z Обновление номера сборки до версии 1.2.0-alpha.354-20181025.1 для сборки 1107

От этого я бы ожидал версию 1.2.0-alpha.354-20181025.1 но результирующая версия в AssemblyInformationalVersion:

<Assembly: AssemblyInformationalVersion("1.2.0-alpha.354+Branch.develop.Sha.1b44044f1e3324182b9e1f37958b6a4942731e59")>

или же

<Assembly: AssemblyInformationalVersion("1.2.0-some_branch_name.1+366.Branch.feature/some_branch_name.Sha.1b44044f1e3324182b9e1f37958b6a4942731e59")>

Есть ли способ предотвратить отображение Branch.develop.Sha.1b...?

Это правильный способ использовать эту задачу?

1 ответ

Решение

Чтобы настроить параметры GitVersion по умолчанию, вы должны добавить файл GitVersion.yml в корень вашего хранилища. Например с этим содержанием:

mode: ContinuousDeployment
assembly-informational-format: '{SemVer}-{CommitDate}'
branches: {}
ignore:
  sha: []

Это приведет к строке версии 1.2.0-alpha.354-2018-10-25,

Чтобы проверить, работает ли ваш файл GitVersion.yml правильно, вы можете открыть командную строку и выполнить GitVersion.exe /updateassemblyinfo, Это работает, только если вы установили GitVersion локально, например, с choco install GitVersion.Portable, Смотрите также документы GitVersion. Однако выполнение GitVersion.exe /updateassemblyinfo Команда предоставит вам полный список переменных, доступных для включения в файл GitVersion.yml.

Другие вопросы по тегам