Skip to content

bcgov/House-Policy-STRDSS

Repository files navigation

House-Policy-STRDSS

Short Term Rental Data Sharing System (STRDSS)

Create Release Tag Procedure

The procedure outlines the steps to initiate a release and manage version. Here's a breakdown of each step:

Procedure

To initiate a release, please follow these steps:

  1. Ensure that the necessary changes intended for the release in the main environment are made and committed to the main branch.
  2. Go to a manual GitHub Action Create Version Tag.
  3. Click Run workflow button and Select branch main.
  4. Enter the tag version to create, without any prefixes, e.g. 1.2.3
  5. Click Run workflow green button to trigger the process.
  6. After the workflow runs successfully, ensure that the deployment pipeline associated with the main environment is automatically triggered and completes.

Continuous Integration and Deployment (CI/CD) Pipelines Overview

Our CI/CD process is facilitated through GitHub Actions, ensuring seamless integration of code into the repository and efficient deployment to the intended environments. Here's a breakdown of the pipelines in place:

  1. Deploy Dev Environment:

    • Generates new images based on commit hashes for deployment in the Development environment.
    • Triggered automatically upon new changes pushed to the main branch.
  2. Deploy Test Environment:

    • Generates new images using tags for deploying changes to the Testing environment.
    • Triggered upon creation of a new tag prefixed with 'v'.
  3. Deploy UAT Environment:

    • Facilitates deployment of selected tag's images into the UAT environment via the GitHub UI.
    • Triggered through the GitHub UI, allowing for tag version selection.
  4. Deploy Prod Environment:

    • Facilitates deployment of selected tag's images into the Production environment.
    • Triggered through the GitHub UI upon publishing a new release from a tag.
  5. Create Version Tag:

    • Supports for generating version tags.
    • Triggered through the GitHub UI, allowing specification of tag versions excluding prefixes.

Hotfix Procedure

When it's necessary to deploy a hotfix (critical fix) to Production, the steps below identify how to deploy the hotfix to production and then update the main branch with the hotfix code.

Procedure

  1. Identify the tag where the hotfix should be included (I.E. the tag listed in the last production deployment log for deploy-prod under Github Actions)
  2. Create a branch from the tag
  3. Implement the hot fix
  4. Run `Create Version Tag with Changelog PR' with the hot fix branch updatung the hotfix value in the version by 1 (I.E. 1.8.1 -> 1.8.2)
  5. Merge the hot fix branch to the main branch