Переход на выделенное версионирование
Как перейти на выделенное версионирование. Тут зависит от того, где мы будем хранить версии, в тегах или файле.
Версионирование через тег
Такой способ рекомендуется если у вас сквозное версионирование на весь репозиторий.
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
Эта команда сделает две вещи:
- Перенесет версии из пакетов в файл
versions.json
(куда именно переносить настраивается в конфиге pvm) - Установит всем пакетам версии заглушки.
В принципе делать это не обязательно: при релизе, команда update
сама это сделает в релизном коммите,
но выполнив операции вручную, вы будете наглядно видеть изменения, которые произойдут с проектом.
Готово! Можно пушить все изменения в репозиторий.