This is the student repository for a 2-day beginner-friendly CI/CD course.
We will follow one simple story through the whole course:
- code
- verify
- package
- deliver
Use these four entry points to navigate the repository:
- Open the section for the part of the course we are in now.
- Early labs are browser-first. You do not need local Git to start.
- Change one thing at a time, especially in YAML files.
- If a workflow fails, read the logs before changing more files.
During the main course, focus on Labs 01 to 05.
For the core path, focus on these workflows:
01 Hello Workflow02 CI Workflow03 Build Artifact Workflow04 Deploy Workflow
At the start of the course, focus on the four core workflows first.
Use this simple rule:
- core beginner path = workflows
01to04and Labs01to05 LAB-05is still part of the guided Day 2 continuationLAB-05does not correspond to workflow05- later guided extension =
LAB-07andEX-11when your instructor starts the Ubuntu VM assessment path - optional examples = workflow examples
05,06,LAB-06, and the cloud-oriented extra reading - most exercises modify the workflow file from the lab you just finished
EX-11is the later exception where you create workflow08
Use this quick rule in the Actions tab:
- main path = the lab or exercise page your instructor is teaching now
- core workflows =
01,02,03,04 - most exercises = keep modifying the lab workflow file you already know
- final assessment prep workflow =
07 - final assessment workflow = create
08yourself later when the final assessment page asks you to - optional next-step examples = workflows
05,06, and later example pages
Workflow 08 will not appear in the Actions tab until you create .github/workflows/08-final-deployment-assessment.yml during EX-11.
Use these files first:
- Setup Guide
- Git and GitHub Micro Prerequisites
- Create a GitHub Account
- Create Your Course Repository from the Template
- Find the Actions Tab and Check Workflows
Day 1 is about one question:
How do we know a change is still safe?
Open these files during Day 1:
- Course Story with Diagrams
- Course Map
- Engineering Problems, CI/CD, and Branching Strategy
- GitHub Actions Foundations
- Lab 01: First Workflow
- Exercise 01: Hello Trigger and PR Merge
- How to Read Actions Logs
- Lab 02: Real CI Workflow
- Exercise 02: CI Visibility and Schedule
- Exercise 03: CI Matrix
- Exercise 04: CI Secrets and Matrix Patterns
- Exercises Index
- Labs Guide
Exercises always follow the related lab.
Use these supporting pages only when you need them:
- Course Map
- Our Tiny Example App
- Runner Mental Model
- Trigger Reference
- YAML Cheatsheet for GitHub Actions
- Finding and Reusing GitHub Actions
Day 2 is about one question:
What do we deliver after the code is verified?
Open these files during Day 2:
- Day 2 Opening Bridge
- Artifacts, Images, and Containers
- Lab 03: Build Artifact Workflow
- Exercise 05: Build Artifact with Buildx
- Exercise 06: CI Then Build Artifact With
needs - Simulated Deployment
- Lab 04: Deploy Workflow
- Exercise 07: Deploy and Inspect the Deployment
- Lab 05: Full CI/CD Flow
- Exercise 09: Full Flow Failure and Recovery
- Exercise 10: PR-Based CI/CD with Branch Protection
- Final Recap
- Labs Guide
EX-05 and EX-06 both extend .github/workflows/03-build-artifact.yml.
Do EX-05 first, then use EX-06 to strengthen that same build workflow with a clearer multi-job shape.
LAB-05 is the integration lab that reuses workflows 02, 03, and 04.
After the main Day 2 path and the related exercises, your instructor may give you one final assessed exercise.
It keeps the same story and asks you to build one fuller deployment workflow yourself:
- build a Docker image
- push it to Docker Hub
- deploy that same image to an Ubuntu VM over SSH
Open these files in order:
- Final Assessment Support Overview
- Standardized Assessment Setup
- Prepare the Assessment VM
- Prepare the Ubuntu VM
- Configure Docker Hub, SSH, and GitHub Secrets
- How the Current Labs Prepare You
- LAB-07: Final Assessment Setup and Validation Prep
- EX-11: Final Deployment Assessment
- Assessment Success Criteria and Rubric
LAB-07 uses one preloaded readiness workflow to check the setup.
EX-11 is the build-it-yourself part.
You create the final assessment workflow file yourself, and the prepared solution lives only in the instructor repo.
Workflow 08 will not appear in the Actions tab until you create .github/workflows/08-final-deployment-assessment.yml during EX-11.
Use this only when your instructor asks you to prepare the Ubuntu VM assessment path.
The early course flow stays browser-first.
You do not need the assessment VM setup script before Day 1 or the early labs.
When the assessment path starts, use:
- Prepare the Assessment VM
scripts/install-assessment-deps.sh
Use these after the main course if you want a little more context:
- CI vs CD
- YAML Cheatsheet for GitHub Actions
- Runner Types
- Trigger Reference
- Finding and Reusing GitHub Actions
- Next Steps: Matrix and Secrets
- Full Containerized CI/CD Example
- How ACR and AKS Fit the Story
- 91 OPTIONAL Example - Azure ACR and AKS Workflow
- Lab 06: Full Containerized CI/CD Pipeline
Use these support files:
- Help Guide
- Runner Mental Model
- How to Read Actions Logs
- Troubleshooting
- Glossary
- YAML Cheatsheet for GitHub Actions
You do not need to memorize GitHub Actions syntax.
Keep returning to the main story:
- code
- verify
- package
- deliver