1+ # Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy
2+ # More GitHub Actions for Azure: https://github.com/Azure/actions
3+
4+ name : Build and deploy Node.js app to Azure Web App - optimo11
5+
6+ on :
7+ push :
8+ branches :
9+ - main
10+ workflow_dispatch :
11+
12+ jobs :
13+ build :
14+ runs-on : ubuntu-latest
15+ permissions :
16+ contents : read # This is required for actions/checkout
17+
18+ steps :
19+ - uses : actions/checkout@v4
20+
21+ - name : Set up Node.js version
22+ uses : actions/setup-node@v3
23+ with :
24+ node-version : ' 20.x'
25+
26+ - name : npm install, build, and test
27+ run : |
28+ npm install
29+ npm run build --if-present
30+ npm run test --if-present
31+
32+ - name : Zip artifact for deployment
33+ run : zip release.zip ./* -r
34+
35+ - name : Upload artifact for deployment job
36+ uses : actions/upload-artifact@v4
37+ with :
38+ name : node-app
39+ path : release.zip
40+
41+ deploy :
42+ runs-on : ubuntu-latest
43+ needs : build
44+ permissions :
45+ id-token : write # This is required for requesting the JWT
46+ contents : read # This is required for actions/checkout
47+
48+ steps :
49+ - name : Download artifact from build job
50+ uses : actions/download-artifact@v4
51+ with :
52+ name : node-app
53+
54+ - name : Unzip artifact for deployment
55+ run : unzip release.zip
56+
57+ - name : Login to Azure
58+ uses : azure/login@v2
59+ with :
60+ client-id : ${{ secrets.AZUREAPPSERVICE_CLIENTID_62C47B4D21414153AB86A29ED3DF26CC }}
61+ tenant-id : ${{ secrets.AZUREAPPSERVICE_TENANTID_B21DA91A2AC0476EA16E14D28391CC84 }}
62+ subscription-id : ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_D846CA4BC2D048788B02C1FD5A152433 }}
63+
64+ - name : ' Deploy to Azure Web App'
65+ id : deploy-to-webapp
66+ uses : azure/webapps-deploy@v3
67+ with :
68+ app-name : ' optimo11'
69+ slot-name : ' Production'
70+ package : .
71+
0 commit comments