Skip to content
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy container app to Azure Web App - eduquest-frontend
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
runs-on: 'ubuntu-latest'
steps:
- uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to registry
uses: docker/login-action@v2
with:
registry: https://index.docker.io/v1/
username: ${{ secrets.AzureAppService_ContainerUsername_a98bdbabc2e2428b9155d8b4ba9c5b3e }}
password: ${{ secrets.AzureAppService_ContainerPassword_2a199e8f8ca248a49903ae6a9d14b48f }}
- name: Build and push container image to registry
uses: docker/build-push-action@v3
with:
push: true
tags: index.docker.io/${{ secrets.AzureAppService_ContainerUsername_a98bdbabc2e2428b9155d8b4ba9c5b3e }}/eduquest-frontend-reactjs:${{ github.sha }}
file: ./Dockerfile
build-args: |
NEXT_PUBLIC_BACKEND_URL=${{ secrets.NEXT_PUBLIC_BACKEND_URL }}
NEXT_PUBLIC_AZURE_CLIENT_ID=${{ secrets.NEXT_PUBLIC_AZURE_CLIENT_ID }}
NEXT_PUBLIC_AZURE_REDIRECT_URI=${{ secrets.NEXT_PUBLIC_AZURE_REDIRECT_URI }}
NEXT_PUBLIC_MICROSERVICE_URL=${{ secrets.NEXT_PUBLIC_MICROSERVICE_URL }}
NEXT_PUBLIC_SITE_URL=${{ secrets.NEXT_PUBLIC_SITE_URL }}
NEXT_PUBLIC_LOGIN_REQUEST_SCOPE=${{ secrets.NEXT_PUBLIC_LOGIN_REQUEST_SCOPE }}
deploy:
runs-on: ubuntu-latest
needs: build
environment:
name: 'production'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
steps:
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@v2
with:
app-name: 'eduquest-frontend'
slot-name: 'production'
publish-profile: ${{ secrets.AzureAppService_PublishProfile_c8b70da7da2d4de0877a073727a89bdc }}
images: 'index.docker.io/${{ secrets.AzureAppService_ContainerUsername_a98bdbabc2e2428b9155d8b4ba9c5b3e }}/eduquest-frontend-reactjs:${{ github.sha }}'