Annexure

Within the release cycle, once development is complete on Monday, we proceed with the deployment process. Depending on the branching setup, we have two main scripts for code deployment to the DEV environment: one for the release branch and one for the develop branch.

Instances & environments

InstanceDEVLIVE (beta slot)LIVE (live slot)LIVE (pre-beta slot)
Core PlatformYYYNA
UKS (FFX)YYYNA
DamenschYYYNA
TFSYYYY

Repository and Branch

Here is the matrix detailing which repositories deploy through which branches:

ModuleRepositoryBranchBuild Pipelines
CH/APIOmniCXdevelopDev Test Harness
Commerce Build CI
CH/APIOmniCXrelease
ModuleRepositoryBranch
CH/APIOmniCXdevelop
CH/APIOmniCXrelease
BetterPIMPIMRelease
BetterPIMPIM.APIRelease
BetterPIMProductEditorRelease
BackendModulesOMSDevelop
MicroServicesAuthenticationAPIDevelop
ChannelsChannelsDevelop
BetterCMSCMS.UIDevelop
BetterCMSCMS.APIDevelop
MicroServicesDeliveribilityAPIDevelop
MicroservicesEmailServiceDevelop
MicroServicesIntegrationAPIDevelop
BackendAPIOmnicx.Management.APIDevelop
MicroServicesReviewsAPIDevelop
MicroServicesWebhookAPIDevelop
BetterPIMPIM.EditorDevelop
FFXFFX ADMINDevelop
FFXFFX APIDevelop
BetterEngagenode-event-serviceDevelop
ReportingDashboardReportingDashboardsDevelop
CustomerStoresbetterstorefrontDevelop
CustomerStoresFabsalesDevelop
CustomerStoresAKCDevelop
CustomerStoresbetterstorefrontDevelop

Scripts

In our deployment process, we utilize two distinct scripts for managing code deployment to both DEV and BETA environments. The choice of script depends on whether the repository's trigger branch is set for release or develop.

Deployment Scripts Overview

  • Script 1: Release Branch Deployment

    • Used when the repository's trigger is set to deploy from the release branch.
    • This script follows a sequence: DEV → BETA → LIVE. Script 1: Release Branch Deployment
    • It ensures that code is first deployed to DEV, then BETA, and finally swapped to LIVE once validated.
  • Script 2: Beta Deployment

    • Used for repositories where the trigger is set to deploy from the develop branch.
    • This script creates a release staging branch from develop and deploys to BETA . Script 2: Beta Deployment

Script Details

Script 1: Release Branch Deployment

  1. Script Location: F:\Projects\Omnicx-New\Release\CodeDeploy

  2. Repository Access: The release script is available in the Release Script Repository. Only authorized personnel can access and execute the script. Script 1: Release Branch Deployment

  3. Steps to Execute the Script:

    • RDP to the remote server.
    • Execute the script through PowerShell. Script 1: Release Branch Deployment
    • Enter 1 to create a release branch for deployment. Script 1: Release Branch Deployment
    • Follow prompts to name the release branch automatically or manually. Script 1: Release Branch Deployment

Script 2: Develop Branch Deployment

  1. Script Location: F:\Projects\ReleaseScriptV2.0

  2. Steps to Execute the Script:

    • Launch the release script from the folder: F:\Projects\ReleaseScriptV2.0.
    • RDP to the remote server.
    • Execute the script using PowerShell.
    • Use the command b and press Tab to execute. Script 2: Develop Branch Deployment
    • Confirm deployments by typing Y and pressing Enter against the repositories. Script 2: Develop Branch Deployment

Verification Steps

After triggering deployments, verify the following to ensure successful deployment:

  1. Confirm pipelines are triggered for respective repositories.
  2. Verify deployments are listed in the release records.
  3. Review release job logs to confirm deployment success.

This structured approach ensures efficient and controlled deployment of code changes across DEV and BETA environments, maintaining high standards of reliability and quality.