This project demonstrates a complete CI/CD pipeline using Azure Container Registry (ACR), Azure Container Instances (ACI), and GitHub Actions, triggered by changes to a data file.
- ⚙️ Integration: Fully integrates (GitHub Actions + ACR + ACI) CI/CD pipeline.
- 🔐 Setup: Configure Azure (Resource Group, ACR, Service Principal) and set GitHub Actions secrets.
- 🧪 Demo App: A Python script counts words in specific data.txt
- 🛠️ Automation: GitHub Actions runs the entire pipeline using Bash and Python scripts.
- 🐳 Docker Build: A custom Docker image is built on every change and pushed to ACR.
- 🚀 Deployment: The container is automatically deployed to ACI.
- 🔄 Trigger: The CI/CD workflow is triggered by changes to specific data.txt.
- ✅ Sucess: Dynamically update
index.html
with the word count andREADME
with the curent 🌐FQDN - 🌐 Live Output: The updated word count is viewable at a public URL (FQDN) after deployment.
.github/workflows/
│
├── apps/
│ └── app.py
├── scripts/
│ ├── setup.sh (One-time script - initialization)
│ ├── gh_setup.sh (One-time script - initialization)
│ ├── update_html.sh
│ ├── update_readme.sh
│ ├── git_push.sh
│ ├── deploy.sh
│ ├── entrypoint.sh
│ └── cleanup.sh (One-time script - clean up azure resources)
│
├── ci.yml
└── deploy.yml
index.html
specific data.txt
Dockerfile
.gitignore
http://wordcountdemo-14901658158.australiaeast.azurecontainer.io