In order to allow partners to make use of components developed by other partners, in order to test for example their owns, it is necessary that all partners manage appropriately the different versions of the components.
In order to do so and based on the fact that each component has its own repository it is proposed the following way:
- Each component git repository must have (at least) two branches: master and production
- master: This branch contains the last version of the component that has passed your unitary tests
- production: This branch contains the last version deployed in the platform.
-
Each stable component version, in the production branch, has to be tagged:
-
Each component version should be tagged (with annotated tag) using the same numbering to the one specified in their Component Manifest (e.g. 0_0_9, 1_0_0, 1_0_1). Example of how creating an annotated tag:
git tag -a 1_0_0 -m "Version 1_0_0 that ..."
-
-
Morevoer a latest tag (lightweight) should be used for pointing to the last working version. This implies that:
- The latest tag will always point to the last commit in the production branch,
- and therefore the latest tag will also point to the higher numbering tag.
-
This tag can be created as follows:
git tag latest
-
And when executed again will point to the new commit.