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 - literaryloom
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@v5
22
+ with :
23
+ python-version : ' 3.9'
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@v4
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
+ permissions :
53
+ id-token : write # This is required for requesting the JWT
54
+
55
+ steps :
56
+ - name : Download artifact from build job
57
+ uses : actions/download-artifact@v4
58
+ with :
59
+ name : python-app
60
+
61
+ - name : Unzip artifact for deployment
62
+ run : unzip release.zip
63
+
64
+
65
+ - name : Login to Azure
66
+ uses : azure/login@v2
67
+ with :
68
+ client-id : ${{ secrets.AZUREAPPSERVICE_CLIENTID_76FAEF56AEF24050B6D39A08406B90C2 }}
69
+ tenant-id : ${{ secrets.AZUREAPPSERVICE_TENANTID_2D733C5256D7429B807D014E2B635916 }}
70
+ subscription-id : ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_962E34513C8641DF85F2F8E68782B614 }}
71
+
72
+ - name : ' Deploy to Azure Web App'
73
+ uses : azure/webapps-deploy@v3
74
+ id : deploy-to-webapp
75
+ with :
76
+ app-name : ' literaryloom'
77
+ slot-name : ' Production'
78
+
0 commit comments