Skip to content

Commit 365f4f6

Browse files
committed
initial work on deploy job
1 parent c944ff9 commit 365f4f6

File tree

1 file changed

+60
-93
lines changed

1 file changed

+60
-93
lines changed

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

Lines changed: 60 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -70,96 +70,63 @@ jobs:
7070
uses: actions/upload-artifact@v6
7171
with:
7272
name: tryimage
73-
path: ${{ github.workspace }}/try.tar
74-
75-
# deploy-development:
76-
# if: github.event_name != 'pull_request_target' && github.event_name != 'pull_request'
77-
# runs-on: ubuntu-latest
78-
# needs: build-and-test
79-
# environment:
80-
# name: "Development"
81-
82-
# steps:
83-
# - name: Azure Login
84-
# uses: azure/login@v2
85-
# with:
86-
# client-id: ${{ secrets.ESSENTIALCSHARPDEV_CLIENT_ID }}
87-
# tenant-id: ${{ secrets.ESSENTIALCSHARP_APPIDENTITY_TENANT_ID }}
88-
# subscription-id: ${{ secrets.ESSENTIALCSHARP_SUBSCRIPTION_ID }}
89-
90-
# - name: Download artifact
91-
# uses: actions/download-artifact@v7
92-
# with:
93-
# name: essentialcsharpwebimage
94-
# path: ${{ github.workspace }}
95-
96-
# - name: Load image
97-
# run: |
98-
# docker load --input ${{ github.workspace }}/essentialcsharpwebimage.tar
99-
# docker image ls -a
100-
101-
# - name: Log in to container registry
102-
# uses: docker/login-action@v3
103-
# with:
104-
# registry: ${{ vars.DEVCONTAINER_REGISTRY }}
105-
# username: ${{ secrets.ESSENTIALCSHARP_ACR_USERNAME }}
106-
# password: ${{ secrets.ESSENTIALCSHARP_ACR_PASSWORD }}
107-
108-
# - name: Push Image to Container Registry
109-
# run: docker push --all-tags ${{ vars.DEVCONTAINER_REGISTRY }}/essentialcsharpweb
110-
111-
# - name: Create and Deploy to Container App
112-
# uses: azure/CLI@v2
113-
# env:
114-
# CONTAINER_APP_NAME: ${{ vars.CONTAINER_APP_NAME }}
115-
# RESOURCEGROUP: ${{ vars.RESOURCEGROUP }}
116-
# CONTAINER_REGISTRY: ${{ vars.DEVCONTAINER_REGISTRY }}
117-
# CONTAINER_APP_ENVIRONMENT: ${{ vars.CONTAINER_APP_ENVIRONMENT }}
118-
# ACR_USERNAME: ${{ secrets.ESSENTIALCSHARP_ACR_USERNAME }}
119-
# ACR_PASSWORD: ${{ secrets.ESSENTIALCSHARP_ACR_PASSWORD }}
120-
# with:
121-
# inlineScript: |
122-
# az config set extension.use_dynamic_install=yes_without_prompt
123-
# az containerapp up -n $CONTAINER_APP_NAME -g $RESOURCEGROUP --image $CONTAINER_REGISTRY/essentialcsharpweb:${{ github.sha }} --environment $CONTAINER_APP_ENVIRONMENT --registry-server $CONTAINER_REGISTRY --ingress external --target-port 8080 --registry-username $ACR_USERNAME --registry-password $ACR_PASSWORD
124-
125-
# - name: Assign Managed Identity to Container App and Set Secrets and Environment Variables
126-
# uses: azure/CLI@v2
127-
# env:
128-
# CONTAINER_APP_NAME: ${{ vars.CONTAINER_APP_NAME }}
129-
# RESOURCEGROUP: ${{ vars.RESOURCEGROUP }}
130-
# CONTAINER_REGISTRY: ${{ vars.DEVCONTAINER_REGISTRY }}
131-
# CONTAINER_APP_ENVIRONMENT: ${{ vars.CONTAINER_APP_ENVIRONMENT }}
132-
# KEYVAULTURI: ${{ secrets.ESSENTIALCSHARP_KEYVAULT_URI }}
133-
# MANAGEDIDENTITYID: ${{ secrets.ESSENTIALCSHARP_APPIDENTITY_ID }}
134-
# ACR_USERNAME: ${{ secrets.ESSENTIALCSHARP_ACR_USERNAME }}
135-
# ACR_PASSWORD: ${{ secrets.ESSENTIALCSHARP_ACR_PASSWORD }}
136-
# AZURECLIENTID: ${{ secrets.IDENTITY_CLIENT_ID }}
137-
# with:
138-
# inlineScript: |
139-
# az containerapp identity assign -n ${{ vars.CONTAINER_APP_NAME }} -g ${{ vars.RESOURCEGROUP }} --user-assigned ${{ vars.CONTAINER_APP_IDENTITY }}
140-
# az containerapp secret set -n $CONTAINER_APP_NAME -g $RESOURCEGROUP --secrets github-clientid=keyvaultref:$KEYVAULTURI/secrets/authentication-github-clientid,identityref:$MANAGEDIDENTITYID \
141-
# github-clientsecret=keyvaultref:$KEYVAULTURI/secrets/authentication-github-clientsecret,identityref:$MANAGEDIDENTITYID msft-clientid=keyvaultref:$KEYVAULTURI/secrets/authentication-microsoft-clientid,identityref:$MANAGEDIDENTITYID \
142-
# msft-clientsecret=keyvaultref:$KEYVAULTURI/secrets/authentication-microsoft-clientsecret,identityref:$MANAGEDIDENTITYID emailsender-apikey=keyvaultref:$KEYVAULTURI/secrets/authmessagesender-apikey,identityref:$MANAGEDIDENTITYID \
143-
# emailsender-secret=keyvaultref:$KEYVAULTURI/secrets/authmessagesender-secretkey,identityref:$MANAGEDIDENTITYID emailsender-name=keyvaultref:$KEYVAULTURI/secrets/authmessagesender-sendfromname,identityref:$MANAGEDIDENTITYID \
144-
# emailsender-email=keyvaultref:$KEYVAULTURI/secrets/authmessagesender-sendfromemail,identityref:$MANAGEDIDENTITYID connectionstring=keyvaultref:$KEYVAULTURI/secrets/connectionstrings-essentialcsharpwebcontextconnection,identityref:$MANAGEDIDENTITYID \
145-
# captcha-sitekey=keyvaultref:$KEYVAULTURI/secrets/captcha-sitekey,identityref:$MANAGEDIDENTITYID captcha-secretkey=keyvaultref:$KEYVAULTURI/secrets/captcha-secretkey,identityref:$MANAGEDIDENTITYID \
146-
# appinsights-connectionstring=keyvaultref:$KEYVAULTURI/secrets/applicationinsights-connectionstring,identityref:$MANAGEDIDENTITYID \
147-
# ai-endpoint=keyvaultref:$KEYVAULTURI/secrets/AIOptions--Endpoint,identityref:$MANAGEDIDENTITYID ai-apikey=keyvaultref:$KEYVAULTURI/secrets/AIOptions--ApiKey,identityref:$MANAGEDIDENTITYID \
148-
# ai-vectordeployment=keyvaultref:$KEYVAULTURI/secrets/AIOptions--VectorGenerationDeploymentName,identityref:$MANAGEDIDENTITYID ai-chatdeployment=keyvaultref:$KEYVAULTURI/secrets/AIOptions--ChatDeploymentName,identityref:$MANAGEDIDENTITYID \
149-
# ai-systemprompt=keyvaultref:$KEYVAULTURI/secrets/AIOptions--SystemPrompt,identityref:$MANAGEDIDENTITYID \
150-
# postgres-vectorstore-connectionstring=keyvaultref:$KEYVAULTURI/secrets/connectionstrings--PostgresVectorDb,identityref:$MANAGEDIDENTITYID
151-
# az containerapp update --name $CONTAINER_APP_NAME --resource-group $RESOURCEGROUP --replace-env-vars Authentication__github__clientId=secretref:github-clientid Authentication__github__clientSecret=secretref:github-clientsecret \
152-
# Authentication__microsoft__clientId=secretref:msft-clientid Authentication__microsoft__clientSecret=secretref:msft-clientsecret AuthMessageSender__ApiKey=secretref:emailsender-apikey AuthMessageSender__SecretKey=secretref:emailsender-secret \
153-
# AuthMessageSender__SendFromName=secretref:emailsender-name AuthMessageSender__SendFromEmail=secretref:emailsender-email ConnectionStrings__EssentialCSharpWebContextConnection=secretref:connectionstring ASPNETCORE_ENVIRONMENT=Staging \
154-
# AZURE_CLIENT_ID=$AZURECLIENTID HCaptcha__SiteKey=secretref:captcha-sitekey HCaptcha__SecretKey=secretref:captcha-secretkey ApplicationInsights__ConnectionString=secretref:appinsights-connectionstring \
155-
# AIOptions__Endpoint=secretref:ai-endpoint AIOptions__ApiKey=secretref:ai-apikey AIOptions__VectorGenerationDeploymentName=secretref:ai-vectordeployment AIOptions__ChatDeploymentName=secretref:ai-chatdeployment \
156-
# AIOptions__SystemPrompt=secretref:ai-systemprompt ConnectionStrings__PostgresVectorStore=secretref:postgres-vectorstore-connectionstring
157-
158-
# - name: Logout of Azure CLI
159-
# if: always()
160-
# uses: azure/CLI@v2
161-
# with:
162-
# inlineScript: |
163-
# az logout
164-
# az cache purge
165-
# az account clear
73+
path: ${{ github.workspace }}/tryimage.tar
74+
75+
deploy-development:
76+
if: github.event_name != 'pull_request_target' && github.event_name != 'pull_request'
77+
runs-on: ubuntu-latest
78+
needs: build-and-test
79+
environment:
80+
name: "Development"
81+
82+
steps:
83+
- name: Azure Login
84+
uses: azure/login@v2
85+
with:
86+
client-id: ${{ secrets.ESSENTIALCSHARPDEV_CLIENT_ID }}
87+
tenant-id: ${{ secrets.ESSENTIALCSHARP_APPIDENTITY_TENANT_ID }}
88+
subscription-id: ${{ secrets.ESSENTIALCSHARP_SUBSCRIPTION_ID }}
89+
90+
- name: Download artifact
91+
uses: actions/download-artifact@v7
92+
with:
93+
name: tryimage
94+
path: ${{ github.workspace }}
95+
96+
- name: Load image
97+
run: |
98+
docker load --input ${{ github.workspace }}/tryimage.tar
99+
docker image ls -a
100+
101+
- name: Log in to container registry
102+
uses: azure/CLI@v2
103+
env:
104+
ACR_NAME: ${{ vars.ACR_NAME }}
105+
with:
106+
inlineScript: |
107+
az acr login --name $ACR_NAME
108+
109+
- name: Push Image to Container Registry
110+
run: docker push --all-tags ${{ vars.DEVCONTAINER_REGISTRY }}/try
111+
112+
- name: Create and Deploy to Container App
113+
uses: azure/CLI@v2
114+
env:
115+
CONTAINER_APP_NAME: ${{ vars.CONTAINER_APP_NAME }}
116+
RESOURCEGROUP: ${{ vars.RESOURCEGROUP }}
117+
CONTAINER_REGISTRY: ${{ vars.DEVCONTAINER_REGISTRY }}
118+
CONTAINER_APP_ENVIRONMENT: ${{ vars.CONTAINER_APP_ENVIRONMENT }}
119+
IDENTITY_ID: ${{ secrets.IDENTITY_ID }}
120+
with:
121+
inlineScript: |
122+
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
124+
125+
- name: Logout of Azure CLI
126+
if: always()
127+
uses: azure/CLI@v2
128+
with:
129+
inlineScript: |
130+
az logout
131+
az cache purge
132+
az account clear

0 commit comments

Comments
 (0)