Skip to content

Workflow for a release

Piotr Majdak edited this page Aug 28, 2026 · 33 revisions

Workflow for a release

  1. Commit the code from your local repo to be released to the 'dev' branch, then test it on the dev server (git pull ecosystem dev).
  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 --force && 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