Week 5 - Containers & CI/CD
The HackYourFuture curriculum is licensed under CC BY-NC-SA 4.0
*https://hackyourfuture.net/*

Built with ❤️ by the HackYourFuture community · Thank you, contributors
Found a mistake or have a suggestion? Let us know in the feedback form.
Introduction to Containers and CI/CD
Dependency Management
Docker Fundamentals
Azure Container Registry
Python CI Pipeline
Week 5 Gotchas & Pitfalls
Practice
Week 5 Assignment: Containerize and Ship a Data Pipeline
History of Containers and CI/CD
Week 5 Lesson Plan
Week 5 - Containers & CI/CD
Welcome to Week 5! You have built ingestion pipelines and transformed data. Now it is time to package your work so it runs reliably anywhere. This week covers containers and CI/CD: how to manage dependencies, build Docker images, configure applications with environment variables, and automate quality checks before deploying to Azure.
By the end of this week, you will have a containerized data ingestion app with an automated CI pipeline that lints, formats, and pushes your image to Azure Container Registry.
Learning goals
- Manage Python project dependencies consistently using either requirements.txt or uv
- Write a Dockerfile that packages a Python data application into a reproducible container image
- Run containerized applications locally with Docker, passing configuration through environment variables
- Configure linting and formatting steps in a GitHub Actions workflow
- Configure a GitHub Actions workflow that runs CI checks on every push
- Log in to a shared Azure Container Registry and push a container image to it manually
- Push a container image to Azure Container Registry using GitHub Actions
- Verify a container image is correctly tagged and pushed to Azure Container Registry
Prerequisites
- Docker Desktop installed and running
- Azure CLI installed and logged in (
az login)
- GitHub account with Actions enabled
- Azure for Students account (from Week 1)
Chapters
- Introduction to Containers and CI/CD
- Dependency Management
- Docker Fundamentals
- Azure Container Registry
- Python CI Pipeline
- Practice
- Assignment: Containerize and Deploy Your Ingestion App
- Gotchas & Pitfalls
Going Further
History of Containers and CI/CD
Lesson plan