@i-novus/k8s-version-release
Version:
Release version with git-tag and switch to next snapshot version
64 lines (41 loc) • 2.79 kB
Markdown
# @i-novus/k8s-version-release
Пакет предназначен релиза версий приложений с использованием Chart и k8s
## Установка
Установка npm-пакета:
```bash
npm install --save-dev @i-novus/k8s-version-release
```
или для yarn:
```bash
yarn add --dev @i-novus/k8s-version-release
```
После добавления пакета, создайте скрипт запуска:
```json
{
"scripts": {
"release": "npm run k8s-version-release"
}
}
```
## Запуск релиза
```bash
npm run release
```
После запуска, будет запущен интерактивный визард, который запросит номера релизной и следующей версий.
Созданы коммиты и релизный тег. В конце будет запрос на пуш коммитов вместе с релизным тегом.
По умолчанию, выпустить версию можно только из ветки `master`, но это поведение можно исправить флагом `--releaseBranch`:
```bash
npm run release --releaseBranch develop
```
## Логика формирования версии
- Для релиза будет предложена версия из `package.json` без SNAPSHOT, если в репозитории нет такого релизного тега, либо следующая патч-версия, если есть.
- Для следующей версии будет предложена следующая патч-версия от релизной версии. SNAPSHOT будет добавлен автоматически
- После этого подставятся релизные версии в `package.json` и `.k8s/Chart.yaml`. Создав коммит и релизный тег
- После этого подставятся следующая версия в `package.json` и `.k8s/Chart.yaml`. Создав коммит
- Предложение запушить коммиты с тегом
Важно:
- Утилита не запустится, если есть незакоммиченные изменения
- Утилита не даст создать релизную версию, если в репозитории уже есть такой же релизный тег
- Утилита не даст создать релизную версию, если текущий бранч отличается от релизного
- В файлах `package.json` и `.k8s/Chart.yaml` версия обновляется автоматически. Руками ничего трогать не нужно
[Apache-2.0](./LICENSE)