This repository contains the complete CI/CD implementation for the CI/CD section of my Python for DevOps: Mastering Real-World Automation course. Here, you'll learn how to build a robust, automated pipeline for Python projects using GitHub Actions. Make sure to join the course to learn comprehensive Python automation skills for DevOps and infrastructure management!
➡️ Course link (with a big discount 🙂): https://www.lauromueller.com/courses/python-devops
Note: Here is the link to the main code repository for the course: https://github.com/lm-academy/python-devops
Check my other courses:
- 👉 The Definitive Helm Course: From Beginner to Master
- 👉 Mastering Terraform: From Beginner to Expert
- 👉 Mastering GitHub Actions: From Beginner to Expert
- 👉 The Complete Docker and Kubernetes Course: From Zero to Hero
- 👉 Write better code: 20 code smells and how to get rid of them
This project demonstrates a complete CI/CD pipeline for a Python package called Simple HTTP Checker - a command-line tool for checking HTTP endpoint availability. Through this hands-on example, you'll learn modern Python development practices and automated deployment workflows.
- Implement the project (code files) - Complete Python package with proper structure
- Add a simple GHA workflow - Basic GitHub Actions setup and execution
- Add linting (ruff) and format checks (black) - Code quality automation
- Add typing (mypy) and security checks (bandit) - Static analysis and security scanning
- Add test automation - Comprehensive test suite with pytest
- Build our Python project - Automated package building
- Publish the project to both TestPyPI and PyPI - Automated package publishing on releases
Through this project, you'll master:
- Modern Python packaging with
pyproject.toml
- GitHub Actions for CI/CD automation
- Code quality tools (Black, Ruff, MyPy, Bandit)
- Automated testing with pytest
- Package publishing to PyPI repositories
- Release management with Git tags and GitHub releases