Build.SourceVersion является пустым в VSO vNext Build
Я использую новые возможности сборки с помощью сценариев в Visual Studio Online (а не определения сборки XAML) и пытаюсь, чтобы номер версии сборки включал последний идентификатор Git Commit целевого репозитория с использованием формата номера сборки.
Я использую следующий формат номера сборки:
$(MajorVersion).$(MinorVersion).$(BuildId).$(SourceVersion)
В результате чего генерируется номер версии1.0.1234.
Т.е. значение SourceVersion пустое, что приводит к ошибке в VSO при постановке в очередь на сборку. Я также попытался определить переменную, поставив перед ней префиксBuild.
с тем же результатом. Чтобы проверить, я изменил номер сборки на следующий формат:
$(MajorVersion).$(MinorVersion).$(BuildId).$(SourceBranch)
Это правильно приводит к значению1.0.1234.refs_heads_master
Я использовалПредопределенные переменные ссылка и Build.SourceVersion указаны в качестве глобальной переменной.
Я делаю что-то не так, столкнулся ли я с ошибкой или это было сделано по замыслу и недоступно во время сборки? Если это сделано специально, есть ли способ автоматически включить короткий идентификатор Git Commit в формат номера сборки?
Здесь я устанавливаю формат номера сборки в VSO:
Это ошибка, которую я вижу, когда я не указываю явно Git CommitId:
400: строка формата номера сборки $ (MajorVersion). $ (MinorVersion). $ (BuildId). $ (SourceVersion) сгенерировала номер сборки 0.1.1. который содержит недопустимые символы, слишком длинный или оканчивается на «.». Максимальная длина номера сборки составляет 255 символов. К символам, которые не допускаются, относятся «», «/», «:», «<», «>», «\», «|», «?», «@» И «*».