test deploy 2

This commit is contained in:
faris Aljohari
2025-02-18 05:39:55 -06:00
parent 19356c3833
commit bc1ee9a53b

View File

@ -1,7 +1,7 @@
# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
# More GitHub Actions for Azure: https://github.com/Azure/actions # More GitHub Actions for Azure: https://github.com/Azure/actions
name: Build and deploy container app to Azure Web App - syncrow(stg) name: Build and deploy Node.js app to Azure Web App - syncrow
on: on:
push: push:
@ -11,27 +11,32 @@ on:
jobs: jobs:
build: build:
runs-on: 'ubuntu-latest' runs-on: ubuntu-latest
permissions:
contents: read #This is required for actions/checkout
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v4
- name: Set up Docker Buildx - name: Set up Node.js version
uses: docker/setup-buildx-action@v2 uses: actions/setup-node@v3
- name: Log in to registry
uses: docker/login-action@v2
with: with:
registry: https://syncrow.azurecr.io/ node-version: '20.x'
username: ${{ secrets.AzureAppService_ContainerUsername_e7578d2a094946609a4506f293c7c645 }}
password: ${{ secrets.AzureAppService_ContainerPassword_3cfcef3755ed46eda766dfc7059dcf5e }}
- name: Build and push container image to registry - name: npm install, build, and test
uses: docker/build-push-action@v3 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
with: with:
push: true name: node-app
tags: syncrow.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_e7578d2a094946609a4506f293c7c645 }}/backend:${{ github.sha }} path: release.zip
file: ./Dockerfile
deploy: deploy:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -39,13 +44,30 @@ jobs:
environment: environment:
name: 'stg' name: 'stg'
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }} 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: steps:
- name: Deploy to Azure Web App - 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'
id: deploy-to-webapp id: deploy-to-webapp
uses: azure/webapps-deploy@v2 uses: azure/webapps-deploy@v3
with: with:
app-name: 'syncrow' app-name: 'syncrow'
slot-name: 'stg' slot-name: 'stg'
publish-profile: ${{ secrets.AzureAppService_PublishProfile_cfa029d9d3a84172a06cfe47c05c18ca }} package: .
images: 'syncrow.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_e7578d2a094946609a4506f293c7c645 }}/backend:${{ github.sha }}'