Skip to main content

Переход на выделенное версионирование

Как перейти на выделенное версионирование. Тут зависит от того, где мы будем хранить версии, в тегах или файле.

Версионирование через тег

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

caution

Такой подход рекомендуется использовать только при использовании одного тега. Множественные теги не бесплатны и могут сильно засорять вывод в пайплайнах.

1. Выставляем нужные настройки

[versioning]
source = 'tag'

2. Обновим все версии пакетов

Нам нужна версия-заглушка.

yarn pvm set-versions 0.0.0-stub -u

Опция -u обновит также зависимости.

3. Создадим версию через тег:

Опционально. Если релизных тегов не было, или текущая версия не устраивает можно создать необходимую версию на master-ветке:

git tag v1.0.0 && git push --tags

Готово! Можно пушить все изменения в репозиторий.

Версионирование через файл

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

В данном случае все версии будут храниться в файле versions.json. Алгоритм схож с предыдущим.

1. Редактируем настройки pvm

[versioning]
source = 'file'
# source_file = 'versions.json'

2. Переносим версии в файл

С новыми настройками pvm уже будет пытаться брать версии из файла versions.json, но его у нас еще нет, поэтому давайте создадим его:

yarn pvm lint --fix

Эта команда сделает две вещи:

  1. Перенесет версии из пакетов в файл versions.json (куда именно переносить настраивается в конфиге pvm)
  2. Установит всем пакетам версии заглушки.

В принципе делать это не обязательно: при релизе, команда update сама это сделает в релизном коммите, но выполнив операции вручную, вы будете наглядно видеть изменения, которые произойдут с проектом.


Готово! Можно пушить все изменения в репозиторий.