Я настраиваю сборку Azure Pipelines, которая должна упаковать библиотеку классов C # .NET в пакет NuGet.
В этой документации в ней перечислены несколько различных способовавтоматически генерировать строки SemVer.В частности, я хочу реализовать это:
$(Major).$(Minor).$(rev:.r)
, где Major
и Minor
- две переменные, определенные в конвейере сборки.Этот формат автоматически увеличивает номер сборки и версию пакета с новым номером патча.Он будет поддерживать основную и вспомогательную версии постоянными, пока вы не измените их вручную в конвейере сборки.
Но это все, что они говорят об этом, никакого примера не приводится.Ссылка для получения дополнительной информации приведет вас к этой документации , где говорится следующее:
Для byBuildNumber
для версии будет задан номер сборки, убедитесь, что ваша сборканомер является правильным SemVer, например 1.0.$(Rev:r)
.Если вы выберете ByBuildNumber, задача извлечет пунктирную версию 1.2.3.4
и будет использовать только эту, удаляя любую метку.Чтобы использовать номер сборки как есть, вы должны использовать byEnvVar, как описано выше, и установить для переменной среды значение BUILD_BUILDNUMBER
.
И снова пример не приводится.Похоже, я хочу использовать versioningScheme: byBuildNumber
, но я не совсем уверен, как установить номер сборки, я думаю, что он извлекает его из переменной окружения BUILD_BUILDNUMBER
, но я не могу найти способ установить переменные среды, только переменные скрипта.Кроме того, я полагаю, просто установить это на 1.0.$(Rev:r)
, или $(Major).$(Minor).$(rev:.r)
?Я боюсь, что это будет просто интерпретировать это буквально.
Поиск в Google для буквенной строки "versioningScheme: byBuildNumber" возвращает один результат ... У кого-нибудь есть работающий azure-pipelines.yml
с этой схемой управления версиями?