Skip to main content

Production Deployment

This document provides the complete process for deploying OmniSpatial to production environments using Azure DevOps pipelines and GitOps workflows.

Overview

Production deployments follow a two-step process:

  1. Build Phase: Create a production build using Azure DevOps pipeline
  2. Deploy Phase: Update the GitOps configuration with the new build tag

GitOps Architecture

The deployment process uses Flux CD for GitOps-based continuous deployment to the production Azure Kubernetes Service (AKS) cluster:

  • Target Cluster: Operations AKS Cluster
  • GitOps Tool: Flux CD monitors the GitOps repository for configuration changes
  • Deployment Method: Automatic deployment when Helm release configuration is updated

Step 1: Create Production Build

Pipeline Execution

  1. Navigate to the Production Build Pipeline
  2. Click "Run pipeline"
  3. Configure the following parameters:
    • Branch: Select main
    • Environment: Choose production when prompted with "Which environment to build?"
  4. Start the pipeline execution

Build Completion

Once the pipeline completes successfully, locate the generated build tag number. The build tag follows this format:

image:
tag: production-40672

Note: The number (e.g., 40672) represents the build number and will be unique for each deployment.


Step 2: Update GitOps Configuration

Helm Release Configuration

Update the production deployment configuration with the new build tag:

  1. Navigate to the Helm Release Configuration
  2. Edit the helm-release.yaml file
  3. Update the tag value under the image section with your new build tag number
  4. Commit the changes

Deployment History

To view previous deployments and track changes:

  • File History: Helm Release History
  • Purpose: Review deployment timeline and rollback information if needed

Deployment Verification

After updating the GitOps configuration, Flux CD will automatically detect the changes and deploy to the production AKS cluster:

  1. Flux CD Sync: Monitor Flux CD for automatic synchronization of the configuration changes
  2. AKS Deployment: Verify the new image tag is deployed successfully to the Operations AKS Cluster
  3. Health Checks: Perform basic health checks on the production environment
  4. Pod Status: Check that new pods are running with the updated image tag

Troubleshooting

Common Issues

  • Pipeline Failures: Check build logs in the Azure DevOps pipeline
  • Deployment Issues: Verify the build tag exists in the container registry
  • GitOps Sync Issues: Check Flux CD status and logs in the AKS cluster
  • Pod Deployment: Verify pods are pulling the correct image from ACR

Rollback Process

To rollback to a previous version:

  1. Check the deployment history
  2. Identify the previous working build tag
  3. Update the helm-release.yaml with the previous tag
  4. Commit the changes to trigger rollback