Release Management¶
Best Practices¶
- The 10 Commandments of Release Engineering: ten-commandments
- Release Management Best Practices: release-best-practices
Articles¶
- Facebook: Moving to mobile: The challenges of moving from web to mobile releases: mobile-releases
- Stop Blaming Release Management: stop-blaming-rm
- So, What Is It We Do Again?: what-we-do-again
- Software Release Management Best Practices: release-best-bractices
- Guidelines for building monolithic release management system: release-guidelines
- Release Trends 2013 by XebiaLabs: release-trends-2013
- Ubuntu no switching to rolling releases: ubuntu-switch
Naming Conventions¶
Versioning¶
Most common model:
- X.0 for Major releases
- X.X.0 for minor releases
- X.X.X.0 for patches that don’t include functionality updates.
- X.X.X.X for security and/or emergency patches.
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.
Other models:
- Python: python
- Git 1.9 Versioning: git-1.9-versioning
- Gnome Versioning: gnome-versioning
- Maven Versioning: maven-versioning
- Semantic Versioning 2.0.0: semantic-versioning
Tools¶
Gitver¶
A very simple, lightweight, tag-based version string manager for git, written in Python.
Homepage: https://github.com/manuelbua/gitver