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 - aim-django-test-02
6+
7+ on :
8+ push :
9+ branches :
10+ - main
11+ workflow_dispatch :
12+
13+ jobs :
14+ build :
15+ runs-on : ubuntu-latest
16+
17+ steps :
18+ - uses : actions/checkout@v4
19+
20+ - name : Set up Python version
21+ uses : actions/setup-python@v1
22+ with :
23+ python-version : ' 3.12'
24+
25+ - name : Create and start virtual environment
26+ run : |
27+ python -m venv venv
28+ source venv/bin/activate
29+
30+ - name : Install dependencies
31+ run : pip install -r requirements.txt
32+
33+ # Optional: Add step to run tests here (PyTest, Django test suites, etc.)
34+
35+ - name : Zip artifact for deployment
36+ run : zip release.zip ./* -r
37+
38+ - name : Upload artifact for deployment jobs
39+ uses : actions/upload-artifact@v3
40+ with :
41+ name : python-app
42+ path : |
43+ release.zip
44+ !venv/
45+
46+ deploy :
47+ runs-on : ubuntu-latest
48+ needs : build
49+ environment :
50+ name : ' Production'
51+ url : ${{ steps.deploy-to-webapp.outputs.webapp-url }}
52+
53+ steps :
54+ - name : Download artifact from build job
55+ uses : actions/download-artifact@v3
56+ with :
57+ name : python-app
58+
59+ - name : Unzip artifact for deployment
60+ run : unzip release.zip
61+
62+
63+ - name : ' Deploy to Azure Web App'
64+ uses : azure/webapps-deploy@v2
65+ id : deploy-to-webapp
66+ with :
67+ app-name : ' aim-django-test-02'
68+ slot-name : ' Production'
69+ publish-profile : ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_2DF883DEC8BD428FA47AA2FF2B5B16C5 }}
0 commit comments