Skip to content

Workflow for a release

Piotr Majdak edited this page Jan 20, 2026 · 28 revisions

Workflow for a release

  1. Test your code on the dev server, commit the code to be released to the 'dev' branch.
  2. Copy the 'live' database to 'staging' database.
  3. On the staging server (ubuntu-vm-3):
  1. On your computer:
  • Checkout 'live' branch (git checkout live), merge from 'dev' to 'live' (git merge dev).
  • In 'live' branch, tag that commit with 'vX.Y.Z' where X, Y, Z are the major, minor, and patch numbers, respectively (git tag vX.Y.Z).
  • Push code and tags.
  • Checkout 'dev' branch (git checkout dev) and merge from 'live' to 'dev' (git merge live).
  1. On the staging server:
  • reset hard (git reset --hard)
  • switch to live (git checkout live)
  • pull the code, fetch all tags and checkout that tag: git pull origin live && git fetch --tags && git checkout vX.Y.Z
  • Sanity check of the website on the staging server: https://sonicom-staging.amtoolbox.org/about: correct version?
  1. On the live server (ubuntu-vm-2):

Done!

Clone this wiki locally