Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
stylenone

Staging Environment

The staging environment is a replica of production and acts as a sandbox for testing deployment manager updates, updates to the base platform, as well as training for implementation team members and migration team members within an environment that is entirely separate from production.

Staging deployment manager: https://cloud-manager.cloud2-stg.rezfusion.com/

Production Environment

The production environment is our blue/green service that has live or in-implementation clients on it. This environment has a separate canary and production service, just like the staging environment.

Unlike the staging environment, though, the production environment has real live clients in it.

Production deployment manager: https://ngen-manager.rezfusion.com/

Logging into CircleCI

Use your GitHub account/work e-mail address to create a CircleCI account. It should be associated with the repositories from GitHub your account has access to. If additional access is needed, create a service ticket with the Inhabit IQ Service Desk with desired updates and access levels.

The latest code changes are built, both for our staging environment and our production environment, within the iiq-wp-platform project in CircleCI.

Note

When viewing the built jobs you will notice we have a build-staging-image and a build-production-image job. The staging image sha256 value is only able to be used on the staging deployment manager releases. Whereas the production image sha256 value is only valid for the production deployment manager releases.

CircleCI Dashboard: https://app.circleci.com/pipelines/github/PropertyBrands/iiq-wp-platform

image-20240214-134635.png

Finding the Image Hash

Select the relevant job for the environment you want to deploy to. The output at the end of the job should include the sha256: image hash value. Copy this value, as-is (including the sha256: portion.) This value will be the value used by the deployment manager - again verifying the stage image for staging cloud2 environments and the production image for the production ngen-manager environment.

image-20240214-135427.pngimage-20240214-135437.png

In this example, the release hash value is sha256:082652ff4ed311c5caa049190d4b6f2f57c22cfc7f45a5d55ea2c7b05953b59b.

Deploying to the Canary Environment

Once the release hash value is identified, navigate to the appropriate deployment manager for the environment related to the image (production or staging.)

Once within the deployment manager, verify the desired service is set to be canaried. You can see which websites live on which service, which may influence which service you want to canary. You may also move a single site to a different service (i.e. if a site with a bug to test a fix for is on blue, you can canary changes to green and move the site to the green service.)

image-20240214-135614.png

Place the sha256 value identified in the previous step into the “Update Canary Image” field. This will trigger the codebase to update for the green service and an update to rollout for all sites on the green service (flushes site caches, etc.)

image-20240214-135707.png

Once the changes are verified then a given ticket (or set of tickets/release) is/are ready for QA.

Example Deployment

Updates made to base iiq-wp-platform - usually this is just composer package updates (latest iiq-dev-staging & latest tagged release [ yarn release ] of the astra-child theme.)

image-20240214-164623.pngImage Added

Commit and push the changes, if all looks correct.

Now, in Circle CI the job begins:

image-20240214-164759.pngImage Added

Once this finishes building, then the step to deploy is described above and shown also in the Loom video below.

Deploying Code to Staging Environment

Deploying Code to Production Environment