Release
December 18, 2024 · View on GitHub
A guide for deploying a release to the production environment.
Background
This project's release guide is based on:
Steps
$ git checkout develop$ git pull origin develop$ git checkout -b release-<newversion>- Do all of the release branch testing necessary. This could be as simple as running
npm test:ci, or it could take user testing over a few days. $ npm version <newversion>(see npm-version for valid values of). $ git checkout release$ git merge --no-ff release-<newversion>$ git push && git push --tags$ git checkout develop$ git merge --no-ff release-<newversion>$ git push origin develop- Draft a new release on Github. Choose the tag that is the release version you just created, and then title it
v<newversion>. Then click "Generate release notes". Publish the release and you are finished!
Travis CI will automatically deploy the release to production, as well as push a production tagged Docker image to DockerHub.
Steps for a Patch Release
Sometimes you might need to push a release for an isolated and small bug fix without what's currently been merged into the develop branch. The steps for pushing a Patch Release are similar to a standard Release, except you work with the release branch as opposed to develop.
$ git checkout release$ git pull origin release$ git checkout -b release-<newversion>(increment patch version)- Do all of the release branch testing necessary. This could be as simple as running
npm test:ci, or it could take user testing over a few days. $ npm version <newversion>(see npm-version for valid values of )(npm version patch).$ git checkout release$ git merge --no-ff release-<newversion>$ git push && git push --tags$ git checkout develop$ git merge --no-ff release-<newversion>$ git push origin develop- Draft a new release on Github. Choose the tag that is the release version you just created, and then title it
v<newversion>. Then click "Generate release notes". Publish the release and you are finished!
What if the PR Bug Fix is branched from develop?
- Make a copy of the branch locally:
gh pr checkout ## git checkout releasegit pull origin releasegit checkout -b <descriptive-branch-name>git cherry-pick <every sha in PR branch>- Make a new PR that merges into
release(has a base branchrelease) - Done!