From 8aa3de5fdc1b524742d357ff398674d051e03e16 Mon Sep 17 00:00:00 2001 From: hannathkadher Date: Tue, 18 Feb 2025 16:59:38 +0400 Subject: [PATCH] config --- .github/workflows/main_syncrow(staging).yml | 74 ++++++++++----------- 1 file changed, 35 insertions(+), 39 deletions(-) diff --git a/.github/workflows/main_syncrow(staging).yml b/.github/workflows/main_syncrow(staging).yml index 96a46e8..fa2dd6e 100644 --- a/.github/workflows/main_syncrow(staging).yml +++ b/.github/workflows/main_syncrow(staging).yml @@ -1,4 +1,7 @@ -name: Backend deployment to Azure App Service +# 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 - syncrow(staging) on: push: @@ -6,50 +9,43 @@ on: - main workflow_dispatch: -env: - AZURE_WEB_APP_NAME: 'syncrow' - AZURE_WEB_APP_SLOT_NAME: 'staging' - ACR_REGISTRY: 'syncrow.azurecr.io' - IMAGE_NAME: 'backend' - IMAGE_TAG: 'latest' - jobs: - build_and_deploy: - runs-on: ubuntu-latest + build: + runs-on: "ubuntu-latest" steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v2 - - name: Set up Node.js - uses: actions/setup-node@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Log in to registry + uses: docker/login-action@v2 with: - node-version: '20' + registry: https://syncrow.azurecr.io/ + username: ${{ secrets.AzureAppService_ContainerUsername_47395803300340b49931ea82f6d80be3 }} + password: ${{ secrets.AzureAppService_ContainerPassword_e7b0ff54f54d44cba04a970a22384848 }} - - name: Install dependencies and build project - run: | - npm install - npm run build - - - name: Log in to Azure - uses: azure/login@v1 + - name: Build and push container image to registry + uses: docker/build-push-action@v3 with: - creds: ${{ secrets.AZURE_CREDENTIALS }} + push: true + tags: syncrow.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_47395803300340b49931ea82f6d80be3 }}/syncrow/backend:${{ github.sha }} + file: ./Dockerfile - - name: Log in to Azure Container Registry - run: az acr login --name ${{ env.ACR_REGISTRY }} + deploy: + runs-on: ubuntu-latest + needs: build + environment: + name: "staging" + url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} - - name: List build output - run: ls -R dist/ - - - name: Build and push Docker image - run: | - docker build . -t ${{ env.ACR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} - docker push ${{ env.ACR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} - - - name: Set Web App with Docker container - run: | - az webapp config container set \ - --name ${{ env.AZURE_WEB_APP_NAME }} \ - --resource-group backend \ - --docker-custom-image-name ${{ env.ACR_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} \ - --docker-registry-server-url https://${{ env.ACR_REGISTRY }} + steps: + - name: Deploy to Azure Web App + id: deploy-to-webapp + uses: azure/webapps-deploy@v2 + with: + app-name: "syncrow" + slot-name: "staging" + publish-profile: ${{ secrets.AzureAppService_PublishProfile_44f7766441ec4796b74789e9761ef589 }} + images: "syncrow.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_47395803300340b49931ea82f6d80be3 }}/syncrow/backend:${{ github.sha }}"