Created Thursday 21 March 2019
- Create JIRA version (usually done while planning the release before development begins)
- Create release branch
- Deploy to staging server (OBNAVSTAGE)
- QA Process
- Finalize Release
Create JIRA version
This step usually occurs before development has begun on a new release as the version number
fixVersion is usually attached to a ticket to let us know under what release that ticket should be
included. However, if you haven't created a new JIRA version by the time you're ready to release
here's one way to do it.
To create a version in JIRA:
- Go to the OpenBoxes PIH project
- Click on Releases
- Click on Create Version
- Enter version number, start date, end date, and comment
- Click Save
You can also create a release from the Kanban board (when releasing closed tickets) or in the Agile (Scrum) board (see Epics and Versions sidebar).
Create release branch
Once you have completed all of the tickets for the new version (which could take several sprints) and you have merged all pull requests (PRs) for these tickets, you're ready to create a release branch. This branch acts as a container for all changes that should be released for this version as well as any last minute bug fixes that need to be made before the release is finalized.
First of all, you'll need to checkout the develop branch and make sure you have all of the latest changes.
git checkout develop git pull --rebase
Create new release branch off develop
git checkout -b release/0.8.9 git push --set-upstream origin release/0.8.9
Change version number in application.properties
Commit version change
git commit -am "bumped app version to 0.8.9"
Change release branch on Bamboo
- Go to Linked Repositories
- Select openboxes-release
- Change the Branch to release/0.8.9
Bamboo should automatically trigger a build for OBNAVSTAGE, but if that doesn't happen within a few minutes just go to the build plan page and trigger it manually. http://bamboo.pih-emr.org:8085/browse/OPENBOXES-SDONS
Once the latest release branch has been deployed to OBNAVSTAGE we can start the QA pass. During this process we might add a few Bug tickets, but there should be no new features. Developers should either create branches off of release/0.8.9 or commit directly to the release branch.
Finalizing the release involves making the following changes to JIRA and Github.
Once the QA pass has been completed and there are no more bugs, we can start to finalize the release.
- Close any tickets that have been completed
- Move remaining tickets to the next sprint
- Remove or change the fixVersion of any open tickets (0.8.9 -> 0.8.10)
- Go to Agile board > Active Sprints
- Close the current sprint using the current date as the End Date.
- Go to Agile Board > Complete Sprint
- Go to Kanban Board > Release
- Go to Versions page
- Merge 0.8.9-kanban1 into 0.8.9
Git > Merge release/0.8.9 into master
git checkout master git merge release/0.8.9 git push
Git > Tag release/0.8.9 (http://docs.openboxes.com/en/latest/developer-guide/tagging/)
git tag -a v0.8.9 -m 'Release 0.8.9' <commit-sha> git push --tags
Git > Merge master into develop
git checkout develop git merge master # fix conflicts git push
Git > Bump version
# bump version number in application.properties git add application.properties git commit -m "bumped app version to 0.8.10-SNAPSHOT" git push
Git > Delete release/0.8.9 branch
git branch -d release/0.8.9
Github > Create new release with release notes
- Bamboo > Download latest WAR from Daily Stable Build (master)
- GitHub > Upload WAR to release
- Publish Release Notes to openboxes.com
- Bamboo > Change openboxes-release back to master