diff --git a/.github/workflows/main_syncrow(stg).yml b/.github/workflows/main_syncrow(stg).yml index f2683c7..53ba678 100644 --- a/.github/workflows/main_syncrow(stg).yml +++ b/.github/workflows/main_syncrow(stg).yml @@ -1,7 +1,7 @@ # 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 Node.js app to Azure Web App - syncrow +name: Build and deploy container app to Azure Web App - syncrow(stg) on: push: @@ -11,64 +11,41 @@ on: jobs: build: - runs-on: ubuntu-latest - permissions: - contents: read #This is required for actions/checkout + runs-on: 'ubuntu-latest' steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v2 - - name: Set up Node.js version - 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.x' + registry: https://syncrow.azurecr.io/ + username: ${{ secrets.AzureAppService_ContainerUsername_e7578d2a094946609a4506f293c7c645 }} + password: ${{ secrets.AzureAppService_ContainerPassword_3cfcef3755ed46eda766dfc7059dcf5e }} - - name: npm install, build, and test - run: | - npm install - npm run build --if-present - npm run test --if-present - - - name: Zip artifact for deployment - run: zip release.zip ./* -r - - - name: Upload artifact for deployment job - uses: actions/upload-artifact@v4 + - name: Build and push container image to registry + uses: docker/build-push-action@v3 with: - name: node-app - path: release.zip + push: true + tags: syncrow.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_e7578d2a094946609a4506f293c7c645 }}/backend:${{ github.sha }} + file: ./Dockerfile deploy: runs-on: ubuntu-latest needs: build - environment: - name: 'stg' + environment: + name: 'test' url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} - permissions: - id-token: write #This is required for requesting the JWT - contents: read #This is required for actions/checkout steps: - - name: Download artifact from build job - uses: actions/download-artifact@v4 - with: - name: node-app - - - name: Unzip artifact for deployment - run: unzip release.zip - - - name: Login to Azure - uses: azure/login@v2 - with: - client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_515C8E782CFF431AB20448C85CA0FE58 }} - tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_2AEFE5534424490387C08FAE41573CC2 }} - subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_00623C33023749FEA5F6BC36884F9C8A }} - - - name: 'Deploy to Azure Web App' + - name: Deploy to Azure Web App id: deploy-to-webapp - uses: azure/webapps-deploy@v3 + uses: azure/webapps-deploy@v2 with: app-name: 'syncrow' slot-name: 'stg' - package: . - \ No newline at end of file + publish-profile: ${{ secrets.AzureAppService_PublishProfile_cfa029d9d3a84172a06cfe47c05c18ca }} + images: 'syncrow.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_e7578d2a094946609a4506f293c7c645 }}/backend:${{ github.sha }}'