Skip to content

Azure Bicep Provision and Deploy #24

Azure Bicep Provision and Deploy

Azure Bicep Provision and Deploy #24

name: Azure Bicep Provision and Deploy
on: workflow_dispatch
env:
RESOURCE_GROUP_NAME: helloworld-services
STATIC_WEB_APP_NAME: azure-static-web-apps-001
jobs:
#====== Provision and Deploy ======#
provision_and_deploy:
name: "Provision and Deploy"
runs-on: ubuntu-latest
steps:
# Checkout repository
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
# Login to Azure
- name: Login to Azure
uses: azure/login@v2
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
# Deploy Bicep template
- name: Deploy Bicep Template
uses: azure/arm-deploy@v2
with:
subscriptionId: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
resourceGroupName: ${{ env.RESOURCE_GROUP_NAME }}
template: ./infra/azuredeploy.bicep
deploymentMode: Incremental
parameters: staticSites_name=${{ env.STATIC_WEB_APP_NAME }}
# Get Azure Static Web App deployment token
- name: Get Azure Static Web App deployment token
id: get-token
run: |
TOKEN=$(az staticwebapp secrets list --name ${{ env.STATIC_WEB_APP_NAME }} --resource-group ${{ env.RESOURCE_GROUP_NAME }} --query "properties.apiKey" -o tsv)
echo "STATIC_WEB_APP_TOKEN=$TOKEN" >> $GITHUB_ENV
# Logout of Azure
- name: Logout of Azure
run: |
az logout
# Deploy to Azure Static Web Apps
- name: Deploy
id: builddeploy
uses: Azure/static-web-apps-deploy@v1
with:
azure_static_web_apps_api_token: ${{ env.STATIC_WEB_APP_TOKEN }}
repo_token: ${{ secrets.GITHUB_TOKEN }}
action: 'upload'
app_location: '/src/AspNet.Core.Blazor.WebAssembly'
output_location: 'wwwroot'