Skip to content

Commit 6dd3fe7

Browse files
committed
Refactor CI/CD workflow for improved Docker image handling and Azure deployment
1 parent 365f4f6 commit 6dd3fe7

File tree

1 file changed

+26
-8
lines changed

1 file changed

+26
-8
lines changed

.github/workflows/Build-Test-And-Deploy.yaml

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ name: Build, Test, and Deploy Try .NET API
33
on:
44
push:
55
branches: ["main"]
6+
pull_request:
7+
branches: ["main"]
68
workflow_dispatch:
79

810
permissions:
@@ -62,11 +64,12 @@ jobs:
6264
tags: ${{ vars.DEVCONTAINER_REGISTRY }}/try:${{ github.sha }},${{ vars.DEVCONTAINER_REGISTRY }}/try:latest
6365
file: ./Dockerfile
6466
context: .
65-
outputs: type=docker,dest=${{ github.workspace }}/try.tar
67+
outputs: type=docker,dest=${{ github.workspace }}/tryimage.tar
6668
cache-from: type=gha
6769
cache-to: type=gha,mode=max
6870

6971
- name: Upload artifact
72+
if: github.event_name != 'pull_request_target' && github.event_name != 'pull_request'
7073
uses: actions/upload-artifact@v6
7174
with:
7275
name: tryimage
@@ -84,7 +87,7 @@ jobs:
8487
uses: azure/login@v2
8588
with:
8689
client-id: ${{ secrets.ESSENTIALCSHARPDEV_CLIENT_ID }}
87-
tenant-id: ${{ secrets.ESSENTIALCSHARP_APPIDENTITY_TENANT_ID }}
90+
tenant-id: ${{ secrets.ESSENTIALCSHARP_TENANT_ID }}
8891
subscription-id: ${{ secrets.ESSENTIALCSHARP_SUBSCRIPTION_ID }}
8992

9093
- name: Download artifact
@@ -101,26 +104,41 @@ jobs:
101104
- name: Log in to container registry
102105
uses: azure/CLI@v2
103106
env:
104-
ACR_NAME: ${{ vars.ACR_NAME }}
107+
REGISTRY_URL: ${{ vars.DEVCONTAINER_REGISTRY }}
105108
with:
106109
inlineScript: |
107-
az acr login --name $ACR_NAME
110+
REGISTRY_NAME=${REGISTRY_URL%.azurecr.io}
111+
az acr login --name $REGISTRY_NAME
108112
109113
- name: Push Image to Container Registry
110-
run: docker push --all-tags ${{ vars.DEVCONTAINER_REGISTRY }}/try
114+
env:
115+
REGISTRY_URL: ${{ vars.DEVCONTAINER_REGISTRY }}
116+
run: docker push --all-tags $REGISTRY_URL/try
111117

112118
- name: Create and Deploy to Container App
113119
uses: azure/CLI@v2
114120
env:
115121
CONTAINER_APP_NAME: ${{ vars.CONTAINER_APP_NAME }}
116122
RESOURCEGROUP: ${{ vars.RESOURCEGROUP }}
117-
CONTAINER_REGISTRY: ${{ vars.DEVCONTAINER_REGISTRY }}
118123
CONTAINER_APP_ENVIRONMENT: ${{ vars.CONTAINER_APP_ENVIRONMENT }}
119-
IDENTITY_ID: ${{ secrets.IDENTITY_ID }}
124+
REGISTRY_URL: ${{ vars.DEVCONTAINER_REGISTRY }}
125+
SUBSCRIPTION_ID: ${{ secrets.ESSENTIALCSHARP_SUBSCRIPTION_ID }}
126+
MANAGED_IDENTITY_ID: ${{ secrets.MANAGED_IDENTITY_ID }}
120127
with:
121128
inlineScript: |
122129
az config set extension.use_dynamic_install=yes_without_prompt
123-
az containerapp up -n $CONTAINER_APP_NAME -g $RESOURCEGROUP --image $CONTAINER_REGISTRY/try:${{ github.sha }} --environment $CONTAINER_APP_ENVIRONMENT --registry-server $CONTAINER_REGISTRY --ingress external --target-port 8080 --registry-identity
130+
az extension add --name containerapp --upgrade
131+
az containerapp up \
132+
-n $CONTAINER_APP_NAME \
133+
-g $RESOURCEGROUP \
134+
--image $REGISTRY_URL/try:${{ github.sha }} \
135+
--environment $CONTAINER_APP_ENVIRONMENT \
136+
--registry-server $REGISTRY_URL \
137+
--ingress external \
138+
--target-port 8080 \
139+
--user-assigned /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCEGROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$MANAGED_IDENTITY_ID \
140+
--registry-identity /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RESOURCEGROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$MANAGED_IDENTITY_ID
141+
124142
125143
- name: Logout of Azure CLI
126144
if: always()

0 commit comments

Comments
 (0)