Skip to content

Release Workflow

carolyncole edited this page Mar 2, 2020 · 3 revisions

Hot fix Master

  1. Make a release branch

    git check out master
    git pull origin master
    git checkout -b release-x.y.z
    
  2. Make your fix

    git commit -m "fixed bug..."
    git push --set-upstream origin release-x.y.z
    
  3. Deploy and test on staging

    cap staging deploy BRANCH=release-x.y.z
    
  4. Create a PR to master when it is working (you will need to change the branch when creating the PR)

  5. Deploy master to staging and test once PR is merged

    cap staging deploy
    
  6. Deploy master to production

    cap production deploy
    
  7. Tag the release

    git checkout master
    git tag vx.y.x
    git push --tags
    
  8. Merge release branch into develop

    git checkout develop
    git pull origin develop
    git merge release-x.y.z develop
    git branch -D release-x.y.z
    git push origin :release-x.y.z
    

Deploy new Features

This is basically the same as the hotfix, except the release branch is generated from develop. Also a PR is not necessary since all changes in develop should have already been reviewed.

  1. Make a release branch

    git check out develop
    git pull origin develop
    git checkout -b release-x.y.z
    git push --set-upstream origin release-x.y.z
    
  2. Deploy and test on staging

    cap staging deploy BRANCH=release-x.y.z
    
  3. Merge the release branch with master

    git checkout master
    git pull origin master
    git merge <release-branch> --no-ff
    
  4. Deploy master to staging and test

    cap staging deploy
    
  5. Deploy master to production

    cap production deploy
    
  6. Tag the release

    git checkout master
    git tag vx.y.x
    git push --tags
    
  7. Merge release branch into develop incase there were any bug fixes generated by the release process

    git checkout develop
    git pull origin develop
    git merge release-x.y.z develop
    git branch -D release-x.y.z
    git push origin :release-x.y.z
    

Clone this wiki locally