Skip to content

Latest commit

 

History

29 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Actions CI/CD Course for Beginners

What This Repository Is For

This is the student repository for a 2-day beginner-friendly CI/CD course.

We will follow one simple story through the whole course:

  1. code
  2. verify
  3. package
  4. deliver

Start Here

Use these four entry points to navigate the repository:

  1. Student Setup Guide
  2. Labs Guide
  3. Exercises Index
  4. Help Guide

How to Use This Repository During Class

  • 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.

Core versus Optional

During the main course, focus on Labs 01 to 05.

For the core path, focus on these workflows:

  • 01 Hello Workflow
  • 02 CI Workflow
  • 03 Build Artifact Workflow
  • 04 Deploy Workflow

At the start of the course, focus on the four core workflows first.

Use this simple rule:

  • core beginner path = workflows 01 to 04 and Labs 01 to 05
  • LAB-05 is still part of the guided Day 2 continuation
  • LAB-05 does not correspond to workflow 05
  • later guided extension = LAB-07 and EX-11 when 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-11 is the later exception where you create workflow 08

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 08 yourself 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.

Before Class

Use these files first:

  1. Setup Guide
  2. Git and GitHub Micro Prerequisites
  3. Create a GitHub Account
  4. Create Your Course Repository from the Template
  5. Find the Actions Tab and Check Workflows

Day 1

Day 1 is about one question:

How do we know a change is still safe?

Open these files during Day 1:

  1. Course Story with Diagrams
  2. Course Map
  3. Engineering Problems, CI/CD, and Branching Strategy
  4. GitHub Actions Foundations
  5. Lab 01: First Workflow
  6. Exercise 01: Hello Trigger and PR Merge
  7. How to Read Actions Logs
  8. Lab 02: Real CI Workflow
  9. Exercise 02: CI Visibility and Schedule
  10. Exercise 03: CI Matrix
  11. Exercise 04: CI Secrets and Matrix Patterns
  12. Exercises Index
  13. Labs Guide

Exercises always follow the related lab.

Use these supporting pages only when you need them:

  1. Course Map
  2. Our Tiny Example App
  3. Runner Mental Model
  4. Trigger Reference
  5. YAML Cheatsheet for GitHub Actions
  6. Finding and Reusing GitHub Actions

Day 2

Day 2 is about one question:

What do we deliver after the code is verified?

Open these files during Day 2:

  1. Day 2 Opening Bridge
  2. Artifacts, Images, and Containers
  3. Lab 03: Build Artifact Workflow
  4. Exercise 05: Build Artifact with Buildx
  5. Exercise 06: CI Then Build Artifact With needs
  6. Simulated Deployment
  7. Lab 04: Deploy Workflow
  8. Exercise 07: Deploy and Inspect the Deployment
  9. Lab 05: Full CI/CD Flow
  10. Exercise 09: Full Flow Failure and Recovery
  11. Exercise 10: PR-Based CI/CD with Branch Protection
  12. Final Recap
  13. 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.

Final Assessment

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:

  1. Final Assessment Support Overview
  2. Standardized Assessment Setup
  3. Prepare the Assessment VM
  4. Prepare the Ubuntu VM
  5. Configure Docker Hub, SSH, and GitHub Secrets
  6. How the Current Labs Prepare You
  7. LAB-07: Final Assessment Setup and Validation Prep
  8. EX-11: Final Deployment Assessment
  9. 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.

Assessment Prep

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:

Optional Next Steps

Use these after the main course if you want a little more context:

  1. CI vs CD
  2. YAML Cheatsheet for GitHub Actions
  3. Runner Types
  4. Trigger Reference
  5. Finding and Reusing GitHub Actions
  6. Next Steps: Matrix and Secrets
  7. Full Containerized CI/CD Example
  8. How ACR and AKS Fit the Story
  9. 91 OPTIONAL Example - Azure ACR and AKS Workflow
  10. Lab 06: Full Containerized CI/CD Pipeline

If You Feel Stuck

Use these support files:

  1. Help Guide
  2. Runner Mental Model
  3. How to Read Actions Logs
  4. Troubleshooting
  5. Glossary
  6. YAML Cheatsheet for GitHub Actions

One Reminder

You do not need to memorize GitHub Actions syntax.

Keep returning to the main story:

  1. code
  2. verify
  3. package
  4. deliver

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages