0.1.7 • Published 8 years ago

@arisan/clio-ver v0.1.7

Weekly downloads
-
License
UNLICENSED
Repository
-
Last release
8 years ago

clio-ver

Introduction

CLiO, a Software as a Service, is consisted of numerous microservices. Each microservice provides unique functions operating on distributed data with its own load-balancing/redundancy strategy. For this distributed structure of SaaS, a CLiO-specific way of versioning evolves and emerges for its microservices.

This tool provides convenience of managing CLiO versioning.

Deployment branches

Each of CLiO's microservices are deployed through 3 stages corresponding to 3 branches.

mastersandbox

master branch is the main development branch. All feature or fixes are branched from master and merged back in after review. Once merged, code on master branch is tested, version is bumped and deployment happens on sandbox environment essentially making code available for other development activities.

stagingstaging

staging merges master when appropriate for acceptance review. Merges are tested then versions are bumped before deployment on staging environment.

productionproduction

production merges staging when appropriate for going live. Merges are tested then versions are bumped before deployment on production environment.

Versioning

clio-ver follows a subset of rules of Semantic Versioning 2.0.0.

masteralpha

All merges on master are considered alpha. Alpha version follows this format:

MAJOR.MINOR.PATCH-alpha.INCREMENT

On each merge, clio-ver next inspects git history since last release to staging for any commit type tag.

  • xxx* increments MAJOR portion by 1 since last release version to staging.
  • fea: increments MINOR portion by 1 since last release version to staging.
  • xxx: increments PATCH portion by 1 since last release version to staging.

(xxx indicates any 3-letter commit type tag.)

INCREMENT portion are increased by 1 if the latest MAJOR.MINOR.PATCH version has already satisfied the history since last release.

stagingbeta

All merges on staging are considered beta. Beta version follows this format:

MAJOR.MINOR.PATH-beta.INCREMENT

On each merge, clio-ver next inspects git history since last release to production. If merged alpha version matches previous beta version by MAJOR.MINOR.PATCH, INCREMENT portion is increased by 1. if merged alpha version does not match previous beta version by MAJOR.MINOR.PATCH, merged alpha version is then converted to first beta version with identifier beta.1.

productionproduction

All merges on production are considered mature and carries no alpha nor beta status. Production version follows this format:

MAJOR.MINOR.PATCH

On each merge, clio-ver next inspects merged beta version and removes any pre-release identifiers.

0.1.7

8 years ago

0.1.6

8 years ago

0.1.5

8 years ago

0.1.4

8 years ago

0.1.3

8 years ago

0.1.2

8 years ago

0.1.1

8 years ago

0.1.0

8 years ago