@@ -3,6 +3,8 @@ name: Build, Test, and Deploy Try .NET API
33on :
44 push :
55 branches : ["main"]
6+ pull_request :
7+ branches : ["main"]
68 workflow_dispatch :
79
810permissions :
@@ -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
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