CI CD with Jenkins, GitHub Actions & Docker
Programming

Course Description

This 3-day practical course teaches participants how to implement modern Continuous Integration and Continuous Delivery (CI/CD) pipelines using Jenkins, GitHub Actions, and Docker. Participants will learn to automate builds, run tests, containerize applications, and deploy to various environments. By the end of the course, learners will be equipped to create robust DevOps pipelines that ensure faster, safer, and more reliable software delivery.


Duration: 3 Days

Format: Instructor-led, hands-on labs with real-world pipelines, Docker projects, and deployment automation

man holding tablet computer

Description

Course Outline


Day 1: CI/CD Fundamentals and Jenkins


Session 1: Introduction to CI/CD and DevOps 

  • What is CI/CD? Benefits and key principles
  • DevOps lifecycle and the role of automation
  • CI/CD tool comparison: Jenkins vs GitHub Actions vs GitLab CI


Session 2: Jenkins Fundamentals

  • Session 2: Jenkins Fundamentals
  • Understanding jobs, pipelines, and nodes
  • Freestyle vs. Pipeline jobs (Declarative vs. Scripted)


Session 3: Creating a CI Pipeline with Jenkins

  • Configuring Git integration and webhooks
  • Automating build, test, and notification steps
  • Introduction to Jenkinsfile and pipeline syntax


Lab Activities:

  • Install and configure Jenkins (locally or using Docker)
  • Create a basic CI pipeline that pulls from GitHub, builds, and runs tests
  • Use Jenkinsfile to define pipeline stages


Day 2: GitHub Actions & Docker Integration


Session 1: GitHub Actions for CI/CD

  • What are GitHub Actions and workflows?
  • Events, triggers, jobs, and steps
  • Using actions from the marketplace


Session 2: Creating Workflows in GitHub Actions

  • Build-test-deploy workflow with GitHub Actions
  • Secrets and environment variables
  • Caching dependencies and running matrix builds


Session 3: Introduction to Docker and Containerization

  • What is Docker? Why containers for CI/CD?
  • Creating Dockerfiles and building images
  • Docker Compose basics for multi-container setups


Lab Activities:

  • Set up a GitHub Actions pipeline that runs tests on pull request
  • Build and push a Docker image from GitHub workflow
  • Use Docker Compose to run a local dev environment


Day 3: End-to-End Automation and Deployment


Session 1: Building CD Pipelines with Jenkins & GitHub Actions

  • Automated deployments to test/staging environments
  • Artifact handling and versioning
  • Notifications and approvals (Slack, email)


Session 2: Deploying Docker Containers

  • Pushing images to Docker Hub or GitHub Container Registry
  • Deploying containers to cloud (Heroku, AWS EC2, Render, etc.)
  • Blue-green and rolling deployments overview


Session 3: Capstone Project + Best Practices

  • Build a full CI/CD pipeline: Build → Test → Package → Deploy
  • DevSecOps intro: Scan Docker images for vulnerabilities
  • CI/CD pipeline monitoring and troubleshooting tips


Lab Activities:

  • Complete CI/CD pipeline using Jenkins or GitHub Actions and Docker
  • Deploy containerized app to cloud
  • Present final project and get peer/instructor feedback