Forum Discussion
CI/CD GitHub Deployment from Dev to UAT Synapse Workspace not Picking Up UAT Resources
Hello,
I am setting up CI/CD for Azure Synapse Analytics using GitHub Actions with multiple environments (Dev, UAT, Prod).
My Synapse resources are:
Dev: ************-dev, azcalsbdatalakedev, calsbvaultdev, SQL DB azcalsbazuresqldev / MetaData
UAT: ************-uat, azcalsbdatalakeuat, calsbvaultuat, SQL DB azcalsbazuresqluat / MetaData
Prod: ***********-prod, azcalsbdatalakeprod, azcalsbvaultprod, SQL DB azcalsbazuresqlprod / MetaData
I have environment-specific parameter override files like uat.json and prod.json. My GitHub workflows (synapse-dev.yml, synapse-uat.yml, etc.) deploy the Synapse publish artifacts (TemplateForWorkspace.json and TemplateParametersForWorkspace.json) with those overrides.
Issue:
When I run the UAT workflow, deployment completes successfully but the UAT Synapse workspace still shows Dev resources. For example, linked services like LS_ADLS still point to azcalsbdatalakedev instead of azcalsbdatalakeuat.
What I have tried:
Created overrides for UAT (uat.json) with correct workspace name and connection strings
Checked GitHub workflow YAML to confirm the override file is being passed in the az deployment group create step
Verified that Dev deployment works fine
Tried changing default values in linked services JSON but behavior is inconsistent
Questions:
Is there a specific way to structure override files (uat.json) for Synapse CI/CD deployments so environment values are correctly replaced?
Do I need separate branches in GitHub for Dev, UAT, and Prod, or can I deploy to all environments from main with overrides?
Has anyone else seen linked services or parameters still pointing to Dev even after a UAT deployment?
Any guidance, best practices, or sample YAML and override examples would be very helpful.
Thanks in advance.