diff --git a/.github/workflows/main_eduquest-frontend.yml b/.github/workflows/main_eduquest-frontend.yml index c762964..353e5bc 100644 --- a/.github/workflows/main_eduquest-frontend.yml +++ b/.github/workflows/main_eduquest-frontend.yml @@ -1,63 +1,51 @@ -name: Build and Deploy to Azure Web App via Docker Hub +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions -env: - AZURE_WEBAPP_NAME: eduquest-frontend # Set this to your Azure Web App name - DOCKERHUB_REPO: xeroxisxs/eduquest-frontend-reactjs +name: Build and deploy container app to Azure Web App - eduquest-frontend on: push: - branches: [ "main" ] + branches: + - main workflow_dispatch: -permissions: - contents: read - jobs: build: - runs-on: ubuntu-latest + runs-on: 'ubuntu-latest' steps: - - name: Checkout Repository - uses: actions/checkout@v4 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to Docker Hub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - - name: Set Repository Name - run: echo "REPO=${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV - - - name: Build and Push Docker Image to Docker Hub - uses: docker/build-push-action@v3 - with: - context: . - file: ./Dockerfile - push: true - tags: ${{ env.DOCKERHUB_REPO }}:${{ github.sha }} - 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 }} + - 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 deploy: runs-on: ubuntu-latest needs: build environment: - name: 'Production' + 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: ${{ env.AZURE_WEBAPP_NAME }} - publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} - images: '${{ env.DOCKERHUB_REPO }}:${{ github.sha }}' + - 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 }}' \ No newline at end of file