Software Versioning

Стандарты разработки software-versioning
Описание

Правила версионирования приложения и ведения списка изменений. Как частный случай практики версионирования можно использовать Семантическое версионирование (англ.). Также эту практику можно рекомендовать командам разработки сервисов, с которыми мы интегрируемся.'

Ценность
Преимущества:
  • Описанный процесс версионирования приложения упростит процессы интеграции и управления зависимостями для связанных систем. По изменению версии станет возможно оценить значимость изменений.
  • Правила версионирования и ведения истории изменений позволяют оценить как продукт развивается и повышает прозрачность изменений приложения для команды разработки и внешних команд. Становится проще следить за изменениями и планировать свою работу.
Последствия отсутствия:
  • Каждая новая версия приложения будет вызывать боль у внешних команд. Им нужно дополнительно узнавать как изменения влияют на их приложение и что им нужно сделать, чтобы поддержать изменения на своей стороне.
Критерии оценки 21
SURVEY

Внешние команды понимают изменения в приложении и, используя новую версию Release Notes или Changelog приложения, могут оценить, что им нужно изменить в своих приложениях

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Внешние команды могут свободно получить нотификацию об изменениях в нашем приложении

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Используются семантическое версионирование и авто-изменение версии Docker-образа

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Используются семантическое версионирование и авто-изменение Helm-чарта

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Описана и реализована связь версий Docker-образа и Helm-чарта

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Используется инструмент для автоматизации управления релизами в соответствии с SemVer (например, semantic release, release-please, gitversion и т.д.)

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Используется инструмент для автоматического формирования Changelog / Release notes

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Сообщения коммитов имеют четкую структуру и форматирование

Варианты по умолчанию: Да / Нет / Частично
SURVEY

Из changelog понятно, какой функционал был добавлен, изменен или удален в приложении

Варианты по умолчанию: Да / Нет / Частично
CHECK

Команда может оценить примерный объем изменений зная только как изменилась версия приложения

CHECK

команда может оценить, как поменяется версия приложения после включения их изменений в релиз

CHECK

Внешние команды которые интегрируются с нами, зная новую версию и имея Release Notes/Changelog приложения, понимают, какие изменения произошли в приложении и могут оценить изменения, которые им потребуется совершить в своих приложениях

CHECK

Внешние команды могут свободно получить нотификацию об изменениях в нашем приложении

CHECK

Используется семантическое версионирование и авто-изменение версии docker-образа

CHECK

Используется семантическое версионирование и авто-изменение helm-чарта

CHECK

Описана и Реализована связь версий docker-образа и helm-чарта

CHECK

Используется инструмент для автоматизации управления релизами в соответствии с SemVer (semantic release, release-please, gitversion, etc)

CHECK

Используется инструмент для автоматического формирования Changelog / Releaselog

CHECK

Сообщения коммитов должны подчиняться выработанным правилам / соглашениям

CHECK

Сообщения коммитов должны иметь четкую структуру / форматирование

CHECK -1

из 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