mirror of
https://github.com/SyncrowIOT/backend.git
synced 2025-07-10 15:17:41 +00:00
Update GitHub Actions workflow for containerized deployment to Azure Web App
This commit is contained in:
67
.github/workflows/main_syncrow(stg).yml
vendored
67
.github/workflows/main_syncrow(stg).yml
vendored
@ -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 Node.js app to Azure Web App - syncrow
|
name: Build and deploy container app to Azure Web App - syncrow(stg)
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@ -11,64 +11,41 @@ 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@v4
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Set up Node.js version
|
- name: Set up Docker Buildx
|
||||||
uses: actions/setup-node@v3
|
uses: docker/setup-buildx-action@v2
|
||||||
|
|
||||||
|
- name: Log in to registry
|
||||||
|
uses: docker/login-action@v2
|
||||||
with:
|
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
|
- name: Build and push container image to registry
|
||||||
run: |
|
uses: docker/build-push-action@v3
|
||||||
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:
|
||||||
name: node-app
|
push: true
|
||||||
path: release.zip
|
tags: syncrow.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_e7578d2a094946609a4506f293c7c645 }}/backend:${{ github.sha }}
|
||||||
|
file: ./Dockerfile
|
||||||
|
|
||||||
deploy:
|
deploy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: build
|
needs: build
|
||||||
environment:
|
environment:
|
||||||
name: 'stg'
|
name: 'test'
|
||||||
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: Download artifact from build job
|
- name: Deploy to Azure Web App
|
||||||
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@v3
|
uses: azure/webapps-deploy@v2
|
||||||
with:
|
with:
|
||||||
app-name: 'syncrow'
|
app-name: 'syncrow'
|
||||||
slot-name: 'stg'
|
slot-name: 'stg'
|
||||||
package: .
|
publish-profile: ${{ secrets.AzureAppService_PublishProfile_cfa029d9d3a84172a06cfe47c05c18ca }}
|
||||||
|
images: 'syncrow.azurecr.io/${{ secrets.AzureAppService_ContainerUsername_e7578d2a094946609a4506f293c7c645 }}/backend:${{ github.sha }}'
|
||||||
|
Reference in New Issue
Block a user