@@ -13,6 +13,7 @@ permissions:
13
13
jobs :
14
14
deploy :
15
15
runs-on : ubuntu-latest
16
+
16
17
steps :
17
18
- uses : actions/checkout@v4
18
19
@@ -28,28 +29,66 @@ jobs:
28
29
with :
29
30
terraform_version : " 1.7.0"
30
31
32
+ # Deploy backend infrastructure
33
+ - name : Terraform Init Backend
34
+ run : terraform init
35
+ working-directory : ./terraform/backend
36
+ env :
37
+ ARM_USE_OIDC : true
38
+ ARM_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
39
+ ARM_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
40
+ ARM_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
41
+
42
+ - name : Terraform Apply Backend
43
+ run : terraform apply -auto-approve
44
+ working-directory : ./terraform/backend
45
+ env :
46
+ ARM_USE_OIDC : true
47
+ ARM_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
48
+ ARM_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
49
+ ARM_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
50
+
51
+ # Deploy main infrastructure
31
52
- name : Terraform Init
32
53
run : terraform init
33
54
working-directory : ./terraform
55
+ env :
56
+ ARM_USE_OIDC : true
57
+ ARM_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
58
+ ARM_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
59
+ ARM_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
34
60
35
61
- name : Terraform Plan
36
- run : terraform plan
62
+ run : terraform plan -out=tfplan
37
63
working-directory : ./terraform
38
64
env :
39
- TF_VAR_environment : " prod"
65
+ ARM_USE_OIDC : true
66
+ ARM_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
67
+ ARM_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
68
+ ARM_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
69
+ TF_VAR_subscription_id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
70
+ TF_VAR_resource_group_name : ${{ vars.RESOURCE_GROUP_NAME }}
40
71
41
72
- name : Terraform Apply
42
- run : terraform apply -auto-approve
73
+ run : terraform apply -auto-approve tfplan
43
74
working-directory : ./terraform
44
75
env :
45
- TF_VAR_environment : " prod"
76
+ ARM_USE_OIDC : true
77
+ ARM_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
78
+ ARM_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
79
+ ARM_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
46
80
47
81
- name : Get Storage Account Name
48
82
id : storage
49
83
run : |
50
84
STORAGE_ACCOUNT=$(terraform output -raw storage_account_name)
51
85
echo "storage_account=$STORAGE_ACCOUNT" >> $GITHUB_OUTPUT
52
86
working-directory : ./terraform
87
+ env :
88
+ ARM_USE_OIDC : true
89
+ ARM_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
90
+ ARM_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
91
+ ARM_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
53
92
54
93
- name : Upload HTML files
55
94
run : |
0 commit comments