Версионирование и релизы
Правильное versioning — critical для сoexistence versions, dependencies, rollback capability.
Semantic versioning
MAJOR.MINOR.PATCH (2.4.1). MAJOR: breaking changes. MINOR: new features backward-compatible. PATCH: bug fixes. Pre-release: -alpha, -beta, -rc. Build metadata: +sha-abc123. Standard де-факто в open source и enterprise.
Release strategy
Trunk-based: single main branch, feature flags. GitFlow: develop + release + hotfix branches. Release trains: scheduled releases (bi-weekly). Continuous deployment: каждый merge → prod. Gaming обычно scheduled из-за certification.
Release types
Major: quarterly, big features. Minor: monthly, smaller features. Patch: as needed, bug fixes. Hotfix: emergency, critical bugs. Cert-required: gaming logic requires certification renewal. Different release cadences для different components.
Rollback readiness
Database migrations backward-compatible. Feature flags для quick disable. Blue-green deployment для instant switch. Detailed monitoring для detection. Runbooks для each service. Regular rollback drills. Rollback shouldn't be шок — should be routine capability.