- gitflow
- Initialize git flow in your repo
git flow init
- Create and push release branch
git checkout master && git pull
git flow start release $PREVIOUS_RELEASE_NUMBER_PLUS_ONE
git push -u origin release/$PREVIOUS_RELEASE_NUMBER_PLUS_ONE
- Push release branch to a QA environment
- Create pull request against production
- QA release branch
- Add last minute fixes to to release branch (optional) a. If there are release fixes, create a pull requests against master as well
- When CI is green and QA is green:
git flow release finish $PREVIOUS_RELEASE_NUMBER_PLUS_ONE
- Push ags
git push --tags
- Merge release PR into production a. merge release PR into master if there were fixes
I'm not sure we can do the last step 6. (When CI is green and QA is green) because we have GitHub protected branch set on the production branch. We might have to just use pull requests.
If this is the case, the git flow tool doesn't get us much.