Sitemap
Yushan Jayaweera

Yushan Jayaweera

Devops & Cloud Engineer

Press enter or click to view image in full size

Building a Multi Environment CI/CD Pipeline on Azure Container Apps

13 min read6 days ago

--

Press enter or click to view image in full size
Press enter or click to view image in full size
All Azure resources
Press enter or click to view image in full size
Press enter or click to view image in full size
Container Apps Environments in Azure Container Portal
Press enter or click to view image in full size
Environments comparison
Press enter or click to view image in full size
deployed production container app in Azure container portal
Press enter or click to view image in full size
Github Actions Pipeline
Press enter or click to view image in full size
Trunk Based Development
Press enter or click to view image in full size
Github deployment Environments
Repository variables, 0 Secrets
Press enter or click to view image in full size
Press enter or click to view image in full size
PR Checks running
Press enter or click to view image in full size
Merge PR after checks passed
Failed PR check blocks the merge
Trivy Scan
Press enter or click to view image in full size
Trivy scan result
Press enter or click to view image in full size
ACR repository
Press enter or click to view image in full size
checks at deployment environments dev,staging
Press enter or click to view image in full size
devlopment environment deployment
Press enter or click to view image in full size
deployed on dev
Press enter or click to view image in full size
Deployed on Staging

Get Yushan Jayaweera’s stories in your inbox

Join Medium for free to get updates from this writer.

Press enter or click to view image in full size
Press enter or click to view image in full size
production deployment job
Press enter or click to view image in full size
Press enter or click to view image in full size

Current revision 100% → 0%

New revision 0% → 100%

Press enter or click to view image in full size
Press enter or click to view image in full size
Deployed on Production

Blue/green does not catch every possible application bug. A feature can fail while /health still passes, and this approach does not solve database migrations or multi region recovery. It reduces one specific risk: sending users to a new revision before it has been checked.

Bicep manages the long-lived platform, while the release workflow manages application revisions and Production traffic.

Press enter or click to view image in full size
OIDC federated credentials
Press enter or click to view image in full size

The deployment identity currently has Contributor on the environment resource groups, AcrPushon ACR and Managed Identity Operator on the pull identity. Contributor is broader than ideal for a hardened production setup.

Press enter or click to view image in full size
plan job in rollback workflow
Press enter or click to view image in full size
apply job in rollback workflow

Standby revision → 100%

Live revision → 0%

Press enter or click to view image in full size
a successful manual rollback
Press enter or click to view image in full size
previously deployed older versions
Press enter or click to view image in full size

--

--