Azure Devops Build Pipeline - Стратегия управления версиями приложения Click Once - PullRequest
0 голосов
/ 16 марта 2020

Новая тестовая версия публикуется, когда кто-то нажимает на ветку dev. Теперь разработчик должен указать версию publi sh вручную, а минимальная требуемая версия автоматически устанавливается на опубликованную версию, поэтому обновление по щелчку после принудительного запуска приложения.

В идеале разработчику не нужно указать версию publi sh, поскольку она должна быть скользящей и всегда иметь номер на одну версию позже, чем предыдущая. Я мог бы написать скрипт Powershell, который проверяет наличие последней версии и увеличивает номер версии в конвейере сборки - так что у нас есть пошаговая сборка. Но это имеет тот недостаток, что опубликованный номер версии не проверяется в системе контроля версий.

Как я могу подойти к этой проблеме?

1 Ответ

1 голос
/ 17 марта 2020

Но это имеет тот недостаток, что опубликованный номер версии не проверяется в системе контроля версий. Как мне решить эту проблему?

Версия приложения clickonce publi sh управляется свойствами ApplicationRevision и ApplicationVersion, определенными в xx.csproj.

In Azure devops service, мы всегда указываем версию publi sh, передавая новые значения в аргументы msbuild, используя Global Properties . Но это не изменит реальных определений в файле проекта:

  <ApplicationRevision>xxx</ApplicationRevision>
  <ApplicationVersion>xxx</ApplicationVersion>

Так как мы указываем версию publi sh таким способом, трудно добавить версию publi sh в систему контроля версий. ,

В качестве альтернативного обходного пути:

Можно рассмотреть возможность указания версии с помощью azure devops предопределенных переменных. Для меня я использую формат номера сборки следующим образом:

enter image description here

Затем я передаю $(Build.BuildNumber) в качестве свойства ApplicationRevision. Так что теперь у меня есть одна увеличивающаяся версия sh. И я могу проверить историю конвейера, чтобы узнать, при каком запуске (и соответствующем коммите) у меня есть успешная публикация sh:

enter image description here

Так как мы ' переопределяя версию с временным значением в командной строке, пока мы не можем добавить временное значение в систему управления версиями.

...