Edit: I have duplicated this post to Bamboo questions (see here) as it was inadvertently located in Bitbucket questions
We have three projects and one shared library that together form a release.
We use gitflow, so from develop we branch a release branch, test this branch and move it to master. Our tooling consists of Jira, Bamboo, Bitbucket, Sourcetree and Atollic Truestudio.
All (4) projects should share the same version number. This version number must be known in the plan that builds the artifacts so it can be incorporated into the artifacts.
We're looking for a way to automatically generate this version number for the release or master branches (testing the version in master instead of the release branch is an option).
We have only one concurrent release, so we don't have to worry about multiple release branches.
What I've found so far:
- Generating a version number in a deployment project (when the artifacts are already created, so that's not a solution)
- using a git tag to deduce the version (e.g. using git-describe) which is error-prone as adding the tag is a manual action.
- Creating a version using Jira, again a manual action and one that closely ties Jira bookkeeping to our release versioning (which is less desirable).
Our ideal workflow would be to use develop and feature branches until develop contains all features we need, then branching off towards master to create a traceable, identically version numbered release of all projects simultaneously. This version number should be used in the build steps that create the artifacts. This can be done in either the release or in the master branch.
Can you help us to determine what is achievable using the Atlassian tools?