SW-PRODUCT/개발-SWE

소프트웨어 버전 관리하기

굴돌 2014. 12. 5. 13:46



링크: http://10kloc.wordpress.com/2013/01/05/3-effective-techniques-for-software-versioning/


Libraries and Frameworks

Semantic Versioning (SemVer)
  1. MAJOR version when you make incompatible API changes,
  2. MINOR version when you add functionality in a backwards-compatible manner, and
  3. 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.


Public Software

  • Major: This is usually done at the end of full release cycle; the resulting product is a major upgrade. All stakeholders (Managers, VPs, Marketing Directors) are informed of the major increment and is usually followed by press releases and marketing.
  • Minor: When additional functionality or new features are introduced. Software Development managers or Senior Developers typically approve such increments.
  • Revision: Bug fixes, ad-hoc patches, any minor change. Developers increment this number each time they make a minor change or fix a bug.
  • Build: This is the only component of the version that is automatically generated. There is a python script that generates this using the Git commit SHA every time the software is built.

In-house or Hosted Software

 versions automatically time stamped. Something like <year>.<month>.<day>.<time>