Версификация — это очень важная часть создания, развертывания и обслуживания кода. Требуется понятная и читаемая версия.
Вот несколько примеров систем управления версиями:
И, вероятно, несколько других там. Я использовал только тот, который большинство людей используют: Семя
Я переехал в Azure DevOps Для строительства и выпуска программного обеспечения. После того, как привыкнуть к этому, была одна большая вещь, которую меня прослушало, версию сборки и релизов …
По умолчанию Azure DEVOPS использует $ (Дата: yyyymmdd). $ (Rev: R)
как номер сборки и выпуска.
И это то, где вы ничего не можете сделать с … Да, это уникально, но для вас нет абсолютно никаких способов выяснить, какой трубопровод сборки/выпуска содержит версию, на которую вы хотели посмотреть.
Другой вопрос, который у меня был тот факт, что при наращивании PR-версии, которая была использована, была единственной из главного/главного (если оттуда разветвляется) и, скорее всего, эта версия уже была выпущена. Таким образом, создание артефакта для развертывания тестов, например, потерпит неудачу, это должна быть уникальная версия.
Поэтому должен быть способ получить поведение, которое я хотел, после поиска и поиска я не смог найти существующее решение, которое было легко в использовании, и не загрязняла шаблоны.
Итак, я создал небольшой модуль NPM, чтобы помочь мне: простая версия
Что оно делает
Этот помощник читает версию из файла, который содержит версию, по умолчанию для package.json
Есть два случая:
Стабильный выпуск (т.е. главный или другой стабильный ветвь предоставляется Это будет использовать версию как есть. То есть
1.0.1.
Сборка для нестабильной ветки и/или запроса на тягу Указанная версификация будет постфиксирована с именем ветви и Commit Sha. Т.е.:
1.0.1-Refs-heads-Flather-8A9Fee0B
Таким образом, версия, используемая в запросе на тягу, всегда будет уникальной, так что вы можете использовать артефакт. А в обзор конвейера постройки вы можете легко найти сборку вашей версии:
Дополнительный бонус: он подтверждает его версия уже существует или нет (тег GIT с этой версией существует), если она существует, она не удастся и Там останавливая сборку
Как вы можете использовать его
Так что, надеюсь, я получил твоего радости, чтобы также использовать его или хотя бы попробовать.
Что касается цели, чтобы иметь простой плагин, вам нужно только добавить две строки на ваш Azure YML. (Обязательно добавьте его как одну из первых задач в вашем трубопроводе)
- bash: 'npx simple-versioner' displayName: 'Get and set correct build version'
Вот и все. Это обновит Строить. ContingNumber
Параметр в Azure и предоставленном файле варианта версии с (NEW) правильной версией.
Выполнено.
Возможные варианты
Есть несколько вариантов для настройки выполнения плагина. Пожалуйста, посмотрите на Простое версию Чтобы увидеть последние возможные варианты.
Для чего вы можете использовать это?
По умолчанию он ожидает Package.json.
Это потому, что я создал плагин для этой цели. Но вы можете использовать его в любом файле json, который имеет Версия
атрибут.
Так, например vss-extenile.json
который используется для задач Azure DEVOPS.
Другие файлы и или структура могут быть легко добавлены, посмотрите на код и приветствуются PR:) простая версия
Оригинал: «https://dev.to/hvdb/build-versioning-made-easy-on-azure-devops-1e33»