it-swarm.com.ru

VSTS/версия пакета автоматического увеличения Devure для Devops

Выполнение основной задачи .Net для упаковки. Как я могу получить выведенную версию пакета nuget для самого Авто Приращения, в формате скажем:

1.0.0

Так что в следующий раз, когда я упакую/толкну, я бы хотел увидеть 1.0.1

Я использую переменные сборки среды с Build.BuildNumber и получаю выходные данные в момент:

20180913-.2.0 и т.д. Хотелось бы исправить более традиционную систему управления версиями

Спасибо.

3
The_Chud

Может быть, я понял это.

Для тех, кто рвет на себе волосы, попробуйте это:

Упаковать задачу:

Автоматическое управление версиями пакетов: использование переменной среды

Переменная окружения: Build.BuildNumber

Затем в верхнем меню, где у вас есть Задачи/Переменные/Триггеры/Параметры, нажмите Параметры.

Формат номера сборки: 1,0 $ (Rev: .r)

Сохранить и поставить в очередь. (будет производить 1.0.1)

Наслаждайтесь!

Поправьте меня, если я ошибаюсь, или если это не работает в течение длительного времени.

8
The_Chud

Из docs переменная Rev:.r является счетчиком ревизий сборки daily. Принятое «решение» приведет к тому, что однажды будет завершена версия 1.0.12, а на следующий день будет 1.0.1.

Если вы хотите простой инкремент и уникальный semver, используйте 1.0.$(BuildID).

$(BuildID) - это внутренний неизменяемый счетчик для ваших сборок, и поэтому он чище, чем $(BuildNumber).

Обновление

BuildID всегда будет увеличиваться - без сброса . Таким образом, после небольшого удара вы в конечном итоге скажете, что 1.2.123 становится 1.3.124.

Если вы хотите хорошо выполнить эту задачу, это можно сделать с помощью npm version или аналогичных, таких как pubspec_version для сборок Dart или Flutter.

- script: npm version $RELEASE_TYPE

где $RELEASE_TYPE - это переменная, которую вы можете установить на основе сборки (то есть: CI, PR и т. д.), имеющая значение major, minor, patch, prerelease и т. д.

- script: npm version $RELEASE_TYPE
  condition: startsWith(variables['build.sourceBranch'], 'refs/head/release/')
  env:  
    releaseType: minor
1
greg.arnott