Skip to content
Merged
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
a342fa0
Logging in manually
j0shuale Jan 17, 2026
a054a6e
switch MI id to vars, as its set
j0shuale Jan 17, 2026
f5db202
Extract MI assignment
j0shuale Jan 20, 2026
03c7ab5
change user assigned arg
j0shuale Jan 20, 2026
4df4a83
remove extension
j0shuale Jan 20, 2026
b2380c2
Fix target port syntax in Azure Container App deployment
j0shuale Jan 22, 2026
3789323
Update target port for Container App and assign Managed Identity
j0shuale Jan 22, 2026
5376ad0
Add subscription and managed identity parameters for Container App de…
j0shuale Jan 22, 2026
4e24efd
Refactor Container App deployment to use dynamic identity assignment …
j0shuale Jan 22, 2026
b7d3bcd
Add Azure CLI extension for Container App deployment
j0shuale Jan 22, 2026
422cc0a
Add debug flag to Container App deployment command
j0shuale Jan 22, 2026
5e4b108
Update managed identity assignment script in deployment workflow
Joshua-Lester3 Jan 25, 2026
ff1711b
Update Azure CLI script for Container App deployment to use ACR crede…
Joshua-Lester3 Jan 26, 2026
92ce8ad
Refactor ACR login steps in deployment workflow to use secrets for cr…
Joshua-Lester3 Jan 26, 2026
78cbf72
remove commented work
Joshua-Lester3 Jan 26, 2026
5be5411
remove commented work
Joshua-Lester3 Jan 26, 2026
82288c3
Remove subscription ID from environment variables in deployment workflow
Joshua-Lester3 Jan 26, 2026
0857af2
Enhance production deployment workflow by adding image push to contai…
Joshua-Lester3 Feb 19, 2026
abec91c
Merge branch 'main' into jlester/prod-actions
Joshua-Lester3 Feb 19, 2026
87cd456
Merge branch 'main' into jlester/prod-actions
Joshua-Lester3 Feb 20, 2026
59f7f14
Merge branch 'main' into jlester/prod-actions
Joshua-Lester3 Feb 20, 2026
8c8cda7
Merge branch 'main' into jlester/prod-actions
Joshua-Lester3 Feb 20, 2026
6ad59f0
Merge branch 'main' into jlester/prod-actions
Joshua-Lester3 Feb 20, 2026
a6aa045
Remove Azure CLI logout steps from production deployment workflow
Joshua-Lester3 Feb 20, 2026
89aa088
Merge branch 'jlester/prod-actions' of https://github.com/joshua-lest…
Joshua-Lester3 Feb 20, 2026
feb8b27
Merge branch 'main' into jlester/prod-actions
Joshua-Lester3 Feb 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 51 additions & 7 deletions .github/workflows/Build-Test-And-Deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
if: github.event_name != 'pull_request_target' && github.event_name != 'pull_request'
uses: docker/build-push-action@v6
with:
tags: ${{ vars.DEVCONTAINER_REGISTRY }}/try:${{ github.sha }},${{ vars.DEVCONTAINER_REGISTRY }}/try:latest
tags: ${{ vars.DEVCONTAINER_REGISTRY }}/try:${{ github.sha }},${{ vars.DEVCONTAINER_REGISTRY }}/try:latest,${{ vars.PRODCONTAINER_REGISTRY }}/try:${{ github.sha }},${{ vars.PRODCONTAINER_REGISTRY }}/try:latest
file: ./Dockerfile
context: .
outputs: type=docker,dest=${{ github.workspace }}/tryimage.tar
Expand Down Expand Up @@ -190,12 +190,56 @@ jobs:
inlineScript: |
az config set extension.use_dynamic_install=yes_without_prompt
az containerapp up -n $CONTAINER_APP_NAME -g $RESOURCEGROUP --image $REGISTRY_URL/try:${{ github.sha }} --environment $CONTAINER_APP_ENVIRONMENT --registry-server $REGISTRY_URL --ingress external --registry-username $ACR_USERNAME --registry-password $ACR_PASSWORD --target-port 80 --debug

- name: Logout of Azure CLI
if: always()

deploy-production:
if: github.event_name != 'pull_request_target' && github.event_name != 'pull_request'
runs-on: ubuntu-latest
needs: deploy-development
environment:
name: "Production"
permissions:
id-token: write
contents: read

steps:
- name: Azure Login
uses: azure/login@v2
with:
client-id: ${{ secrets.ESSENTIALCSHARP_CLIENT_ID }}
tenant-id: ${{ secrets.ESSENTIALCSHARP_TENANT_ID }}
subscription-id: ${{ secrets.ESSENTIALCSHARP_SUBSCRIPTION_ID }}

- name: Download artifact
uses: actions/download-artifact@v7
with:
name: tryimage
path: ${{ github.workspace }}

- name: Load image
run: |
docker load --input ${{ github.workspace }}/tryimage.tar
docker image ls -a

- name: Log in to container registry
uses: docker/login-action@v3
with:
registry: ${{ vars.PRODCONTAINER_REGISTRY }}
username: ${{ secrets.ESSENTIALCSHARP_ACR_USERNAME }}
password: ${{ secrets.ESSENTIALCSHARP_ACR_PASSWORD }}

- name: Push Image to Container Registry
run: docker push --all-tags ${{ vars.PRODCONTAINER_REGISTRY }}/try

- name: Create and Deploy to Container App
uses: azure/CLI@v2
env:
CONTAINER_APP_NAME: ${{ vars.CONTAINER_APP_NAME }}
RESOURCEGROUP: ${{ vars.RESOURCEGROUP }}
CONTAINER_APP_ENVIRONMENT: ${{ vars.CONTAINER_APP_ENVIRONMENT }}
REGISTRY_URL: ${{ vars.PRODCONTAINER_REGISTRY }}
ACR_USERNAME: ${{ secrets.ESSENTIALCSHARP_ACR_USERNAME }}
ACR_PASSWORD: ${{ secrets.ESSENTIALCSHARP_ACR_PASSWORD }}
with:
inlineScript: |
az logout
az cache purge
az account clear
az config set extension.use_dynamic_install=yes_without_prompt
az containerapp up -n $CONTAINER_APP_NAME -g $RESOURCEGROUP --image $REGISTRY_URL/try:${{ github.sha }} --environment $CONTAINER_APP_ENVIRONMENT --registry-server $REGISTRY_URL --ingress external --registry-username $ACR_USERNAME --registry-password $ACR_PASSWORD --target-port 80 --debug