forked from microsoft/python-sample-vscode-flask-tutorial
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDeploy-SQL.yml
More file actions
108 lines (101 loc) · 3.07 KB
/
Deploy-SQL.yml
File metadata and controls
108 lines (101 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
variables:
resourceGroup: my-sql-rg
location: uksouth
sqlServer: mysqlserver12345
sqlDatabase: mydatabase
adminUser: sqladmin
adminPassword: $(SQL_ADMIN_PASSWORD)
dacpacPath: $(Build.SourcesDirectory)/database/database.dacpac
stages:
- stage: DeploySQL
jobs:
- job: CheckResourceGroup
pool:
vmImage: ubuntu-latest
steps:
- task: AzureCLI@2
inputs:
azureSubscription: 'SPN-Dev-01'
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
if az group exists --name $(resourceGroup); then
echo "Resource Group already exists"
else
az group create --name $(resourceGroup) --location $(location)
fi
- job: CheckSQLServer
dependsOn: CheckResourceGroup
pool:
vmImage: ubuntu-latest
steps:
- task: AzureCLI@2
inputs:
azureSubscription: 'SPN-Dev-01'
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
if az sql server show --name $(sqlServer) --resource-group $(resourceGroup) > /dev/null 2>&1; then
echo "SQL Server already exists"
else
az sql server create \
--name $(sqlServer) \
--resource-group $(resourceGroup) \
--location $(location) \
--admin-user $(adminUser) \
--admin-password $(adminPassword)
fi
- job: CheckDatabase
dependsOn: CheckSQLServer
pool:
vmImage: ubuntu-latest
steps:
- task: AzureCLI@2
inputs:
azureSubscription: 'SPN-Dev-01'
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
if az sql db show --name $(sqlDatabase) --server $(sqlServer) --resource-group $(resourceGroup) > /dev/null 2>&1; then
echo "Database already exists"
else
az sql db create \
--resource-group $(resourceGroup) \
--server $(sqlServer) \
--name $(sqlDatabase) \
--service-objective S0
fi
- job: ConfigureFirewall
dependsOn: CheckDatabase
pool:
vmImage: ubuntu-latest
steps:
- task: AzureCLI@2
inputs:
azureSubscription: 'SPN-Dev-01'
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
az sql server firewall-rule create \
--resource-group $(resourceGroup) \
--server $(sqlServer) \
--name AllowAllAzureIPs \
--start-ip-address 0.0.0.0 \
--end-ip-address 0.0.0.0
- job: DeployDacpac
dependsOn: ConfigureFirewall
pool:
vmImage: ubuntu-latest
steps:
- task: SqlAzureDacpacDeployment@1
displayName: Deploy DACPAC
inputs:
azureSubscription: 'SPN-Dev-01'
AuthenticationType: server
ServerName: $(sqlServer).database.windows.net
DatabaseName: $(sqlDatabase)
SqlUsername: $(adminUser)
SqlPassword: $(adminPassword)
deployType: DacpacTask
DeploymentAction: Publish
DacpacFile: $(dacpacPath)