Номер версии чистого основного продукта в TFS

Я не большой эксперт в развертывании, поэтому спрашиваю вас об одной вещи, которую я нигде не мог найти в Интернете.

Предположим, у меня есть проект, написанный на ядре .net, предпочтительно на ядре aspnet. Я также использую TFS (VSTS).

В идеале мне нужно включить номер сборки (или номер версии, я не знаю, как быть более точным) в мою версию программного обеспечения, которую я могу увидеть на странице «О нас». В идеале, я полагаю, это должен быть контрольный номер текущей версии кода. Но я думаю, что это может быть любое другое отличное решение.

Нужен совет.


person alerya    schedule 19.03.2017    source источник


Ответы (1)


Самый простой способ — использовать номер сборки в качестве номера версии. Существует глобальная стратегия управления версиями .NET: AssemblyInformationalVersion. Вы можете использовать эту стратегию, чтобы добавить версии к вашему программному обеспечению. Вы можете использовать сценарий powershell к версии для ваших сборок.

Скрипт powershell в фоновом режиме заменит все значения версий для AssemblyVersion, AssemblyFileVersion и AssemblyInformationalVersion в файлах информации о сборке на основе эта версия продукта. Версия продукта целиком будет передана в атрибуты AssemblyVersion и AssemblyInformationalVersion. Версия AssemblyFileVersion будет заменена полным номером версии, который будет состоять из номера основной и дополнительной версии версии продукта, даты по юлианскому календарю и номера добавочной сборки.

введите здесь описание изображения

Для значения версии файла сборки = 2.7.15169.03

  • 2 => взято из основной версии продукта
  • 7 => взято из «Младшей» версии продукта
  • 15169 => генерируется в процессе сборки: «15» = 2015 год, «169» = день 2015 года
  • 3 => третья сборка, запуск на 169-й день 2015 года.

Для получения более подробной информации вы можете взглянуть на этот замечательный пост: TFS Build 2015… и управление версиями! и похожая тема vNext Build Awesome: управление номерами версий


Обновить

Вы можете использовать $(Build.SourceVersion) в формате номера сборки, чтобы включить информацию о наборе изменений, например

$(BuildDefinitionName)_$(date:yyyyMMdd)_$(Build.BuildId).$(Build.SourceVersion)$(rev:.r)

Однако этот $(Build.SourceVersion) работает только тогда, когда сборки запускались автоматически при фиксации (при непрерывной интеграции). Потому что при запуске ручной сборки вам нужно ввести поле «Исходная версия», чтобы оно заполнилось. Дополнительные сведения см. здесь: Build.SourceVersion пуст в VSO vNext Build< /а>

Вы также можете использовать сценарий PowerShell, чтобы получить номер набора изменений исходной версии и применить его к номеру сборки или AssemblyInfo.

person PatrickLu-MSFT    schedule 20.03.2017
comment
Я понимаю, это. Получается сборочная машина. Но для наших целей лучшее решение, особенно для QA, когда мы используем последний номер проверки TFS. Согласитесь, это логично! - person alerya; 21.03.2017
comment
@alerya Вы можете использовать $(Build.SourceVersion) в формате номера сборки, например $(BuildDefinitionName)_$(date:yyyyMMdd)_$(Build.BuildId).$(Build.SourceVersion)$(rev:.r), который будет соответствовать вашим потребностям. Однако этот $(Build.SourceVersion) работает только тогда, когда сборки запускались автоматически при фиксации (при непрерывной интеграции). Потому что при запуске ручной сборки вам нужно ввести поле «Исходная версия», чтобы оно заполнилось. Вы также можете использовать сценарий PowerShell, чтобы получить номер набора изменений исходной версии и применить его к номеру сборки или AssemblyInfo. - person PatrickLu-MSFT; 21.03.2017
comment
Я с тобой согласен. Однако мне также нужно добавить информацию о наборе изменений в сборку! Это определенно нужно QA, потому что разработчики предоставляют этот идентификатор при закрытии США. И QA используют его, чтобы проверить, используют ли они правильную версию программного обеспечения при проверке. - person alerya; 21.03.2017