Sure 👍 Here is the clean, portfolio-ready README only. You can copy-paste it directly into GitHub.
A containerized Flask application with an automated CI/CD pipeline using GitHub Actions.
👨💻 Code Push
↓
🐙 GitHub
↓
⚙️ GitHub Actions
↓
📦 Install Dependencies
↓
🧪 Run Pytest
↓
🐳 Build Docker Image
↓
✅ Pipeline Success
- 🐍 Python 3.12
- 🌐 Flask
- 🧪 Pytest
- 🐳 Docker
- ⚙️ GitHub Actions
- 🔧 Git & GitHub
The GitHub Actions workflow automatically runs when code is pushed to main or when a pull request targets main.
The pipeline:
- 📥 Checks out the code
- 🐍 Sets up Python 3.12
- 📦 Installs dependencies
- 🧪 Runs automated tests
- 🐳 Builds the Docker image
- ✅ Reports the pipeline result
Run the tests locally:
PYTHONPATH=. pytest2 passed
docker build -t github-actions-cicd:1.0 .docker run -d \
--name github-actions-cicd \
-p 8000:8000 \
github-actions-cicd:1.0curl http://localhost:8000/healthExpected response:
{"status":"healthy"}github-actions-cicd/
├── .github/
│ └── workflows/
│ └── ci.yml
├── app/
│ ├── __init__.py
│ └── app.py
├── tests/
│ └── test_app.py
├── Dockerfile
├── requirements.txt
├── .gitignore
└── README.md
The workflow is defined in:
.github/workflows/ci.yml
It runs automatically on:
- 📤 Push to
main - 🔀 Pull requests targeting
main
📥 Checkout Code
↓
🐍 Setup Python 3.12
↓
📦 Install Dependencies
↓
🧪 Run Pytest
↓
🐳 Build Docker Image
↓
✅ Pipeline Complete
CI/CD • GitHub Actions • Docker • Python • Flask • Pytest • Git • GitHub • Automation
- 🔄 CI/CD fundamentals
- ⚙️ GitHub Actions workflows
- 🧪 Automated testing with Pytest
- 🐳 Docker containerization
- 🔧 Git and GitHub workflows
- 📦 Dependency management
- 🚀 Automating application validation and Docker builds
Shubham Gorule
BCA Student | Aspiring Cloud Engineer | AWS | Linux | Networking | DevOps
⭐ Built as part of my Cloud & DevOps project portfolio.