Release Strategy - DTS-STN/sc-digital-centre GitHub Wiki
The release strategy is designed to mirror the Branching Strategy while ensuring the production deployment has proper segregation and control.
Environments
Dynamic
Dynamic Environments will be generated for each dynamic (non-static, non-protected) branch created in GitHub. This covers the *Feature and *HotFix branches.
Dev
The Dev Environment will be a static environment, deployed in the development cluster. It will be auto updated with any changes to the dev branch.
https://sc-digital-centre-dev.bdm-dev.dts-stn.com/
Staging
Note: This has often been refereed to as a "Release" environment, but due to the common understanding and use of the word "release" in the department, we have chosen "staging" to avoid any ambiguity when discussing with others who are not familiar with standard practices.
The Staging Environment will be a static environment. It will be auto updated with any changes to the main branch. Tags should be added to the main branch to represent a production ready release candidate.
This environment will also be used to run some additional tests like Manual A11y Audits.
https://sc-digital-centre-staging.bdm-dev.dts-stn.com/
Performance
We will have a Performance environment that will use our production capacity settings (helm charts) but point to our staging integration points (env variables). The Performance environment is expected to only be available when tests are being done, approximately every 3-9 months as needed.
Production & Pre-Prod
This environment will only be updated when approval is granted. It must always be manually triggered. As Next.JS requires a build to be made for environment variables to be injected we intend on having a Pre-Prod environment along side the Production environment to leverage as blue/green deployment strategy. The Pre-Prod environment should only be used just prior to production deployment for sanity tests of the built application and integration. The Pre-Prod environment should be using the exact same configurations as the Production environment.
It would be ideal to have the approval to deploy on a bi-weekly or monthly basis.