1+
2+ # ADF is the shortened version of Azure Data Factory
3+
4+ trigger : none
5+
6+ pool :
7+ vmImage : " windows-latest"
8+
9+ stages :
10+ - stage : BuildDEVDataFactory
11+ displayName : " Build DEV Data Factory"
12+
13+ variables :
14+ - template : variables/dev-variables.yml
15+
16+ jobs :
17+ - job : ValidateAndBuildDataFactoryTemplate
18+ displayName : " Build DEV Data Factory"
19+ steps :
20+ - template : adf-cicd/adf-build.yml
21+ parameters :
22+ DataFactoryName : " ${{ variables.BuildDataFactoryName }}"
23+ ResourceGroupName : " ${{ variables.BuildDataFactoryResourceGroupName }}"
24+ ADFArtifactName : " ${{ variables.ADFArtifactName }}"
25+ WorkingDirectory : " ${{ variables.WorkingDirectory }}"
26+
27+ # DEPLOY TO UAT
28+ - stage : DeployToUAT
29+ dependsOn : BuildDEVDataFactory
30+ condition : succeeded()
31+ displayName : " Deploy To UAT"
32+
33+ variables :
34+ - template : variables/uat-variables.yml
35+
36+ jobs :
37+ - deployment : ApprovalCheckDeployToUAT
38+ displayName : " Approval Check To Deploy To UAT"
39+ environment : UAT
40+ strategy :
41+ runOnce :
42+ deploy :
43+ steps :
44+ - powershell : |
45+ Write-Host "Deploy To UAT has been fully approved. Starting the deployment to UAT."
46+
47+ - job : DeployAzureResources
48+ displayName : " Deploy Azure Resources Via Bicep"
49+ steps :
50+ - template : azure-resources/deploy-azure-resources.yml
51+ parameters :
52+ AzureResourceManagerConnection : " ${{ variables.AzureResourceManagerConnection }}"
53+ DataFactoryName : " ${{ variables.DataFactoryName }}"
54+ ADFResourceGroupName : " ${{ variables.ADFResourceGroupName }}"
55+ ADFBicepTemplateFilePath : " ${{ variables.ADFBicepTemplateFilePath }}"
56+ KeyVaultName : " ${{ variables.KeyVaultName }}"
57+ KeyVaultResourceGroupName : " ${{ variables.KeyVaultResourceGroupName }}"
58+ KeyVaultURL : " ${{ variables.KeyVaultURL }}"
59+ KeyVaultBicepTemplateFilePath : " ${{ variables.KeyVaultBicepTemplateFilePath }}"
60+
61+ - job : DeployDataFactory
62+ displayName : " Deploy ADF ARM Template To Target ADF"
63+ dependsOn : DeployAzureResources
64+ condition : succeeded()
65+ steps :
66+ - template : adf-cicd/adf-deploy.yml
67+ parameters :
68+ AzureResourceManagerConnection : " ${{ variables.AzureResourceManagerConnection }}"
69+ DataFactoryName : " ${{ variables.DataFactoryName }}"
70+ DataFactoryTemplateParametersFilePath : " ${{ variables.DataFactoryTemplateParametersFilePath }}"
71+ ResourceGroupName : " ${{ variables.ADFResourceGroupName }}"
72+ ResourceGroupLocation : " ${{ variables.ResourceGroupLocation }}"
73+ ADFArtifactName : " ${{ variables.ADFArtifactName }}"
74+ Environment : " ${{ variables.Environment }}"
75+
76+ # DEPLOY TO PROD
77+ - stage : DeployToPROD
78+ dependsOn :
79+ - BuildDEVDataFactory
80+ - DeployToUAT
81+ condition : succeeded()
82+ displayName : " Deploy To PROD"
83+
84+ variables :
85+ - template : variables/prod-variables.yml
86+
87+ jobs :
88+ - deployment : ApprovalCheckDeployToPROD
89+ displayName : " Approval Check To Deploy To PROD"
90+ environment : PROD
91+ strategy :
92+ runOnce :
93+ deploy :
94+ steps :
95+ - powershell : |
96+ Write-Host "Deploy To PROD has been fully approved. Starting the deployment to PROD."
97+
98+ - job : DeployAzureResources
99+ displayName : " Deploy Azure Resources Via Bicep"
100+ steps :
101+ - template : azure-resources/deploy-azure-resources.yml
102+ parameters :
103+ AzureResourceManagerConnection : " ${{ variables.AzureResourceManagerConnection }}"
104+ DataFactoryName : " ${{ variables.DataFactoryName }}"
105+ ADFResourceGroupName : " ${{ variables.ADFResourceGroupName }}"
106+ ADFBicepTemplateFilePath : " ${{ variables.ADFBicepTemplateFilePath }}"
107+ KeyVaultName : " ${{ variables.KeyVaultName }}"
108+ KeyVaultResourceGroupName : " ${{ variables.KeyVaultResourceGroupName }}"
109+ KeyVaultURL : " ${{ variables.KeyVaultURL }}"
110+ KeyVaultBicepTemplateFilePath : " ${{ variables.KeyVaultBicepTemplateFilePath }}"
111+
112+ - job : DeployDataFactory
113+ displayName : " Deploy ADF ARM Template To Target ADF"
114+ dependsOn : DeployAzureResources
115+ condition : succeeded()
116+ steps :
117+ - template : adf-cicd/adf-deploy.yml
118+ parameters :
119+ AzureResourceManagerConnection : " ${{ variables.AzureResourceManagerConnection }}"
120+ DataFactoryName : " ${{ variables.DataFactoryName }}"
121+ DataFactoryTemplateParametersFilePath : " ${{ variables.DataFactoryTemplateParametersFilePath }}"
122+ ResourceGroupName : " ${{ variables.ADFResourceGroupName }}"
123+ ResourceGroupLocation : " ${{ variables.ResourceGroupLocation }}"
124+ ADFArtifactName : " ${{ variables.ADFArtifactName }}"
125+ Environment : " ${{ variables.Environment }}"
0 commit comments