-
Notifications
You must be signed in to change notification settings - Fork 1
43 lines (42 loc) · 2.53 KB
/
deploy_azure_infra.yml
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
on:
workflow_dispatch:
name: Deploy Azure infra
jobs:
deploy:
steps:
- uses: actions/checkout@v2
- with:
creds: ${{ secrets.AZURE_SERVICE_PRINCIPAL }}
uses: azure/login@v1
- run: |
$params = Get-Content ./explainpowershell.azureinfra/parameters.json | ConvertFrom-Json
$params.parameters.functionAppName.value = "${{ secrets.FUNCTION_APP_NAME }}".trim()
$params.parameters.appServicePlanName.value = "asp-" + "${{ secrets.FUNCTION_APP_NAME }}".trim()
$params.parameters.storageAccountName.value = "${{ secrets.STORAGE_ACCOUNT_NAME }}".trim()
$params | ConvertTo-Json | Out-File ./explainpowershell.azureinfra/parameters.json -force
name: Overwrite ARM parameters
shell: pwsh
- uses: Azure/arm-deploy@v1
name: Deploy ARM template for Storage and FunctionApp
with:
parameters: ./explainpowershell.azureinfra/parameters.json
scope: resourcegroup
resourceGroupName: ${{ secrets.RESOURCE_GROUP_NAME }}
template: ./explainpowershell.azureinfra/template.json
deploymentMode: incremental
- run: |
az storage blob service-properties update --account-name "${{ secrets.STORAGE_ACCOUNT_NAME }}".trim() --static-website --index-document index.html
name: Enable static website
shell: pwsh
- run: |
az functionapp cors add --resource-group "${{ secrets.RESOURCE_GROUP_NAME }}".trim() --name "${{ secrets.FUNCTION_APP_NAME }}".trim() --allowed-origins https://$("${{ secrets.STORAGE_ACCOUNT_NAME }}".trim()).z6.web.core.windows.net
name: Add CORS rule to function app to allow access from frontend endpoint
shell: pwsh
- run: |
$connectionstring = (az storage account show-connection-string --name "${{ secrets.STORAGE_ACCOUNT_NAME }}".trim() | convertfrom-json).connectionstring
az functionapp config appsettings set --settings "AzureWebJobsStorage=$connectionstring" --name "${{ secrets.FUNCTION_APP_NAME }}".trim() --resource-group "${{ secrets.RESOURCE_GROUP_NAME }}".trim() --output none
az functionapp config appsettings set --settings "FUNCTIONS_WORKER_RUNTIME=dotnet" --name "${{ secrets.FUNCTION_APP_NAME }}".trim() --resource-group "${{ secrets.RESOURCE_GROUP_NAME }}".trim() --output none
az functionapp config appsettings set --settings "FUNCTIONS_EXTENSION_VERSION=~4" --name "${{ secrets.FUNCTION_APP_NAME }}".trim() --resource-group "${{ secrets.RESOURCE_GROUP_NAME }}".trim() --output none
name: set app settings
shell: pwsh
runs-on: ubuntu-latest