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+ # More info on Python, GitHub Actions, and Azure App Service: https://aka.ms/python-webapps-actions
4+
5+ name : Build and deploy Python app to Azure Web App - fastap-rhl
6+
7+ on :
8+ push :
9+ branches :
10+ - main
11+ workflow_dispatch :
12+
13+ jobs :
14+ build :
15+ runs-on : ubuntu-latest
16+ permissions :
17+ contents : read # This is required for actions/checkout
18+
19+ steps :
20+ - uses : actions/checkout@v4
21+
22+ - name : Set up Python version
23+ uses : actions/setup-python@v5
24+ with :
25+ python-version : ' 3.11'
26+
27+ - name : Create and start virtual environment
28+ run : |
29+ python -m venv venv
30+ source venv/bin/activate
31+
32+ - name : Install dependencies
33+ run : pip install -r requirements.txt
34+
35+ # Optional: Add step to run tests here (PyTest, Django test suites, etc.)
36+
37+ - name : Zip artifact for deployment
38+ run : zip release.zip ./* -r
39+
40+ - name : Upload artifact for deployment jobs
41+ uses : actions/upload-artifact@v4
42+ with :
43+ name : python-app
44+ path : |
45+ release.zip
46+ !venv/
47+
48+ deploy :
49+ runs-on : ubuntu-latest
50+ needs : build
51+
52+ permissions :
53+ id-token : write # This is required for requesting the JWT
54+ contents : read # This is required for actions/checkout
55+
56+ steps :
57+ - name : Download artifact from build job
58+ uses : actions/download-artifact@v4
59+ with :
60+ name : python-app
61+
62+ - name : Unzip artifact for deployment
63+ run : unzip release.zip
64+
65+
66+ - name : Login to Azure
67+ uses : azure/login@v2
68+ with :
69+ client-id : ${{ secrets.AZUREAPPSERVICE_CLIENTID_A8DDE6E0358248FCBC9688A306F2151A }}
70+ tenant-id : ${{ secrets.AZUREAPPSERVICE_TENANTID_0983A4A90C1D41C8ADAE9F3A9C47B7AA }}
71+ subscription-id : ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_291FB00B79E44FC2B254B7483CDCAAFD }}
72+
73+ - name : ' Deploy to Azure Web App'
74+ uses : azure/webapps-deploy@v3
75+ id : deploy-to-webapp
76+ with :
77+ app-name : ' fastap-rhl'
78+ slot-name : ' Production'
79+
0 commit comments