Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Automated version number in release or master branch

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?

1 answer

For anyone stumbling on this post, we ended up writing our own python scripts to achieve the items set out above.

- one script to generate a version file based on branch type and existing tags in master

- one script to create release branches in the project's repositories

- one script to merge release branches into master and tag master with the release version

This works reasonably well.

One of the remaining issues is that when Bamboo creates a plan branch, the correct branch for only one of the repositories is used (e.g. repos A and B both get feature branch X. For A's plan branch A is set to X, B remains at develop). We're looking into also solving this with custom scripting.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events