This document will try to discuss how we use tags in docker. When assigning docker tags we leverage of knowledge both from the GIT workflow used, as well as the actual release. First the GIT Workflow used will be described, next the semantic versioning is described and finally docker tags are described.
In most of the projects we follow the git branching strategy as described in "A successful Git branching model". This describes a development model where there are two main branches (master and develop) that will always exist. All development is done on feature branches, which after a code review will be merged back into these main branches.
The master branch is the branch that contains the latest released version of the software (production ready). The develop branch contains the newest code will have all the latest features (and some of the bugs). Any new features that are developed will be merged into th