Introduction to Containers and CI/CD
Week 5 Assignment: Containerize and Ship a Data Pipeline
In Week 3 you built a robust ingestion pipeline. In Week 4 you processed data with Pandas. Now you will package that pipeline as a container and automate its delivery to Azure Container Registry.
Your goal is to make your pipeline reproducible and deployable with one CI workflow.
Pick one pipeline you already built:
Copy the code into a new assignment folder and make sure it runs locally.
<aside> ๐ก Choose the pipeline you understand best. You will debug it inside a container.
</aside>
Create a requirements.txt or a pyproject.toml with pinned versions. Your pipeline must run in a clean virtual environment.
<aside> โ ๏ธ If you rely on system-wide packages, your container will fail in CI.
</aside>
Create a Dockerfile that:
Test it locally with docker build and docker run.
Move any secrets or runtime values into environment variables. Your container must read configuration from the environment, not from hardcoded values.
<aside> โจ๏ธ Hands on: Run your container with a missing env var and confirm it fails fast with a clear error.
</aside>
Create .github/workflows/ci.yml that:
ruff (see Python CI Pipeline)pytest (see Testing with pytest, Week 2)Use GitHub Actions to push your image to ACR. The workflow should tag the image with the Git commit SHA.
Create a short file AI_ASSIST.md and describe:
You must submit:
requirements.txt or pyproject.toml with pinned versionsAI_ASSIST.mdweek5-container-assignment/
โโโ .github/
โ โโโ workflows/
โ โโโ ci.yml
โโโ src/
โ โโโ pipeline.py
โโโ tests/
โ โโโ test_pipeline.py
โโโ Dockerfile
โโโ requirements.txt
โโโ AI_ASSIST.md
logging instead of print for pipeline status (see Python Setup, Week 1)..env files.Your assignment will be evaluated on:
week5/your-name.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.