Software Versioning
Описание
Правила версионирования приложения и ведения списка изменений. Как частный случай практики версионирования можно использовать Семантическое версионирование (англ.). Также эту практику можно рекомендовать командам разработки сервисов, с которыми мы интегрируемся.'
Ценность
Преимущества:
- Описанный процесс версионирования приложения упростит процессы интеграции и управления зависимостями для связанных систем. По изменению версии станет возможно оценить значимость изменений.
- Правила версионирования и ведения истории изменений позволяют оценить как продукт развивается и повышает прозрачность изменений приложения для команды разработки и внешних команд. Становится проще следить за изменениями и планировать свою работу.
Последствия отсутствия:
- Каждая новая версия приложения будет вызывать боль у внешних команд. Им нужно дополнительно узнавать как изменения влияют на их приложение и что им нужно сделать, чтобы поддержать изменения на своей стороне.
Критерии оценки 21
Внешние команды понимают изменения в приложении и, используя новую версию Release Notes или Changelog приложения, могут оценить, что им нужно изменить в своих приложениях
Внешние команды могут свободно получить нотификацию об изменениях в нашем приложении
Используются семантическое версионирование и авто-изменение версии Docker-образа
Используются семантическое версионирование и авто-изменение Helm-чарта
Описана и реализована связь версий Docker-образа и Helm-чарта
Используется инструмент для автоматизации управления релизами в соответствии с SemVer (например, semantic release, release-please, gitversion и т.д.)
Используется инструмент для автоматического формирования Changelog / Release notes
Сообщения коммитов имеют четкую структуру и форматирование
Из changelog понятно, какой функционал был добавлен, изменен или удален в приложении
Команда может оценить примерный объем изменений зная только как изменилась версия приложения
команда может оценить, как поменяется версия приложения после включения их изменений в релиз
Внешние команды которые интегрируются с нами, зная новую версию и имея Release Notes/Changelog приложения, понимают, какие изменения произошли в приложении и могут оценить изменения, которые им потребуется совершить в своих приложениях
Внешние команды могут свободно получить нотификацию об изменениях в нашем приложении
Используется семантическое версионирование и авто-изменение версии docker-образа
Используется семантическое версионирование и авто-изменение helm-чарта
Описана и Реализована связь версий docker-образа и helm-чарта
Используется инструмент для автоматизации управления релизами в соответствии с SemVer (semantic release, release-please, gitversion, etc)
Используется инструмент для автоматического формирования Changelog / Releaselog
Сообщения коммитов должны подчиняться выработанным правилам / соглашениям
Сообщения коммитов должны иметь четкую структуру / форматирование
из changelog'а не понятно какой функционал добавился в приложение, какой изменился, какой функционал убрали.
Ресурсы 5
-
Описание Семантического версионирования (англ.)
-
Рекомендации по ведению changelog (рус.)
-
Docker semver - https://gitlab.com/express42/starsmap/reference-pipelines/-/blob/main/.gitlab-ci.yml#L86
-
Helm charts semver - https://gitlab.com/express42/starsmap/reference-pipelines/-/blob/main/.gitlab-ci.yml#L104
-
gitlab.com
https://gitlab.com/express42/starsmap/reference-pipelines/-/blob/main/README.md?ref_type=heads, https://gitlab.com/express42/starsmap/reference-pipelines/-/blob/main/.gitlab-ci.yml#L168
Метаданные
- ID:
- 64f5a3b2-3440-4878-a9f0-c729dff33ddb
- Slug:
software-versioning- Версия:
- 2.0
- Проекты:
- Client2/Project1 Client1/Project1
- Критерии:
- 9 survey 12 check
- Создано:
- 2026-04-30
- Обновлено:
- 2026-04-30