
CI/CD Pipelines with GitLab: From Basics to Production
Course Curriculum
12 modules designed to master the subject.
Module 1: Introduction to CI/CD
Foundations of Continuous Integration and Delivery.
Module 1 Lesson 1: What is CI/CD?
Master the fundamental concepts of Continuous Integration and Continuous Delivery. Learn why automation is the heartbeat of modern software engineering.
Module 1 Lesson 2: The Evolution of DevOps
How we got here. Trace the history of software delivery from Waterfall and physical servers to the 'DevOps' movement and the rise of Git-centric automation.
Module 1 Lesson 3: Benefits of Automation
The business case for DevOps. Explore how automated delivery improves code quality, developer happiness, and the bottom line of modern companies.
Module 1 Lesson 4: CI/CD vs CI/CT vs CI/CP
Demystify the acronyms. Learn the subtle differences between Continuous Integration, Testing, Delivery, Deployment, and Policy.
Module 1 Lesson 5: Overview of GitLab Features
The all-in-one platform. Explore the breadth of GitLab's built-in tools, from Runners and Registries to Security Dashboards and Kubernetes integration.
Module 2: GitLab CI/CD Basics
Runners, YAML configuration, and project structure.
Module 2 Lesson 1: GitLab Runners
The muscle behind the code. Learn how GitLab Runners execute your jobs, and the critical difference between using GitLab's cloud runners and hosting your own.
Module 2 Lesson 2: The .gitlab-ci.yml Structure
Master the syntax of automation. Learn the basic anatomy of a GitLab CI configuration file, including global settings, job definitions, and hidden keys.
Module 2 Lesson 3: Jobs, Stages, and Scripts
The workflow triplet. Learn how to group jobs into stages to control their execution order and write effective scripts for your automated tasks.
Module 2 Lesson 4: Advanced YAML in GitLab
Master the nuances of YAML. Explore anchors, aliases, and multi-line strings to create cleaner, more maintainable pipeline configurations.
Module 2 Lesson 5: The Pipeline Editor and Linter
Fail fast. Learn how to use GitLab's built-in tools to validate your YAML syntax and visualize your pipeline before you commit your code.
Module 3: Building Your First Pipeline
Stages, jobs, and pipeline visualization.
Module 3 Lesson 1: Hello World Pipeline
Your first automated build. Follow a step-by-step guide to creating, committing, and running your very first GitLab CI/CD pipeline.
Module 3 Lesson 2: Environments and Variables
Protect your secrets. Learn how to use GitLab variables to store database passwords and API keys securely, and how to define different 'Environments' for Staging and Production.
Module 3 Lesson 3: Working with Artifacts
Save your work. Learn how to use 'Artifacts' to pass files between stages (e.g., from Build to Test) and how to download them for manual review.
Module 3 Lesson 4: Caching Dependencies
Stop waiting for 'npm install'. Learn the difference between Artifacts and Caching, and how to use Cache to speed up your pipeline by 500%.
Module 3 Lesson 5: Job Control (Rules)
Smart pipelines. Learn how to use 'rules' to decide when a job should run, when it should be manual, and when it should stay hidden.
Module 4: Advanced Pipeline Orchestration
Artifacts, dependencies, secrets, and optimization.
Module 4 Lesson 1: Multi-Project Pipelines
Connect the dots. Learn how to trigger pipelines in other projects, creating a cross-service automation workflow for complex microservice architectures.
Module 4 Lesson 2: Parent and Child Pipelines
Solve YAML bloat. Learn how to split a massive configuration into smaller, dynamic 'Child' pipelines that only run when needed, keeping your CI fast and readable.
Module 4 Lesson 3: The 'needs' Keyword (DAG)
Break the stage barrier. Learn how to use 'needs' to create a Directed Acyclic Graph (DAG), allowing fast jobs to skip ahead without waiting for slow, unrelated tasks.
Module 4 Lesson 4: Pipeline Triggers and API
Automation beyond Git. Learn how to trigger GitLab pipelines using HTTP requests, custom tokens, and external services like Webhooks or IoT devices.
Module 4 Lesson 5: Optimizing for Large Clusters
Handle the scale. Learn how to optimize GitLab CI/CD for environments with hundreds of runners, thousands of developers, and massive data throughput.
Module 5: Testing and Quality Assurance
Automated testing, linting, and quality gates.
Module 5 Lesson 1: Automated Unit Testing
The first line of defense. Learn how to integrate unit tests into your GitLab pipeline, use test reports, and visualize your code coverage.
Module 5 Lesson 2: Integration Testing & Services
Do they play well together? Learn how to use GitLab 'Services' to spin up temporary databases and caches (like Redis or Postgres) during your integration tests.
Module 5 Lesson 3: Linting and Style Checks
End the bike-shedding. Automate your code style enforcement and static analysis to ensure every developer's code looks like it was written by one person.
Module 5 Lesson 4: Security Scanning (SAST & DAST)
Found the bugs before hackers do. Learn how to integrate Static (SAST) and Dynamic (DAST) security testing into your GitLab pipeline to protect your user data.
Module 5 Lesson 5: Implementing Quality Gates
The point of no return. Learn how to set 'Quality Gates' that prevent poor code from ever reaching the main branch or the customer.
Module 6: Deployment Strategies
Staging, production, blue-green, and canary releases.
Module 6 Lesson 1: Introduction to Automated Deployment
Cross the finish line. Learn the fundamentals of push-button and fully automated deployments to servers, clouds, and clusters.
Module 6 Lesson 2: Staging vs Production
The safety net. Learn how to manage multi-tier environments in GitLab to ensure that code is tested in a 'Real' world scenario before it hits your paying customers.
Module 6 Lesson 3: Blue-Green vs Canary Releases
Zero downtime mastery. Explore the advanced deployment patterns used by world-class engineering teams to ship code with zero interruptions to the user.
Module 6 Lesson 4: Feature Flags (GitLab Unleash)
Separate deployment from release. Learn how to use Feature Flags to toggle functionality on and off in your live application without redeploying your code.
Module 6 Lesson 5: Rollbacks and Error Recovery
The emergency exits. Learn how to perform instant rollbacks when a deployment goes wrong and how to automate recovery using GitLab's built-in tools.
Module 7: Containerized Pipelines
Docker and Kubernetes integration in GitLab.
Module 7 Lesson 1: Docker-in-Docker (DinD)
The chicken and the egg. Learn how to run Docker commands inside a Docker container to build your application images within a GitLab pipeline.
Module 7 Lesson 2: Pushing Images to Registries
The full lifecycle. Learn how to log in to Docker Hub or AWS ECR and push your built images so they can be used by your production servers.
Module 7 Lesson 3: The GitLab Registry
Everything in one place. Learn how to use GitLab's built-in container registry to store your images without needing external accounts or complicated login scripts.
Module 7 Lesson 4: Kubernetes Integration
Master the cloud. Learn how to connect your GitLab project to a Kubernetes cluster and use the 'GitLab Agent' to automate secure deployments to K8s.
Module 7 Lesson 5: Optimizing Builds (Kaniko)
Faster, Safer, Better. Learn how to use Google's Kaniko to build container images without root privileges or a Docker daemon, solving the performance issues of DinD.
Module 8: Monitoring and Notifications
Dashboards, alerts, and pipeline health metrics.
Module 8 Lesson 1: Pipeline Notifications
Stay informed. Learn how to configure GitLab's built-in notification system to alert your team via email, webhooks, or the UI whenever a pipeline fails.
Module 8 Lesson 2: Slack and Teams Integration
ChatOps in action. Learn how to connect GitLab to your team's chat platform to get real-time alerts and even trigger deployments directly from a chat channel.
Module 8 Lesson 3: Dashboards and Metrics
Data-driven DevOps. Learn how to use GitLab's built-in analytic dashboards to track your DORA metrics, find bottlenecking jobs, and improve your delivery speed.
Module 8 Lesson 4: Deployment Health
Is it still up? Learn how to use GitLab's Environment Health checks to monitor your live site and trigger alerts if a deployment causes a latency spike.
Module 8 Lesson 5: Security Alerts
Act phase. Learn how to manage the security findings from your scans and setup alerts so that 'Critical' vulnerabilities are dealt with immediately.
Module 9: Security and Compliance
Vulnerability scanning, license compliance, and access control.
Module 9 Lesson 1: Vulnerability Management
The triage process. Learn the professional workflow for identifying, dismissing, or resolving security vulnerabilities within the GitLab ecosystem.
Module 9 Lesson 2: Dependency & License Compliance
Know your supply chain. Learn how to scan your third-party libraries for vulnerabilities and legal risks before they enter your production environment.
Module 9 Lesson 3: Compliance Pipelines
Enforce the rules. Learn how to use GitLab's 'Compliance Frameworks' to force specific security scans on every project in your company, with no exceptions.
Module 9 Lesson 4: Auditing & User Access
Who, what, and when. Master GitLab's Identity and Access Management (IAM) and Audit logs to ensure only the right people can trigger deployments.
Module 9 Lesson 5: Hardening the Runner
Protect the muscle. Learn how to secure your private GitLab Runners to prevent container breakout and ensure your secrets stay on your hardware.
Module 10: CI/CD Best Practices
Reusable templates and modular pipeline design.
Module 10 Lesson 1: The DRY Principle
Stop the copy-paste. Learn how to use GitLab CI/CD templates to share common jobs across 100 different projects, ensuring consistency and ease of maintenance.
Module 10 Lesson 2: Modular Pipeline Design
Divide and conquer. Learn the architectural patterns of splitting your pipeline into independent, testable modules that are easy for different teams to maintain.
Module 10 Lesson 3: Variable Naming and Scoping
Precision in configuration. Learn the professional standards for naming your CI/CD variables and how to use 'Scoping' to prevent production secrets from leaking into dev builds.
Module 10 Lesson 4: Designing for Resilience
The 'Anti-Fragile' pipeline. Learn how to write CI/CD scripts that can handle network failures, registry timeouts, and flaky tests without completely stopping your company's delivery engine.
Module 10 Lesson 5: Documentation & Handoff
Leave a map. Learn how to document your CI/CD pipelines so that your teammates can maintain them, troubleshoot failures, and onboard new projects without your constant help.
Module 11: Real-World Case Studies
Full-stack and microservices pipeline examples.
Module 11 Lesson 1: Full-Stack JS Pipeline
From code to cloud. A deep dive into a professional-grade GitLab pipeline for a React/Node.js application, including build, test, and container deployment.
Module 11 Lesson 2: Python/ML Pipeline
Model management at scale. Explore how a data science team uses GitLab CI/CD to build, test, and deploy a Python microservice with GPU support and automated model versioning.
Module 11 Lesson 3: Legacy PHP Conversion
Modernizing the old. A step-by-step case study of taking a manual, high-risk PHP/MySQL application and transforming it into a fully automated containerized pipeline.
Module 11 Lesson 4: Secure Bank Application
Mission critical. Analyze the multi-layered security and compliance pipeline of a national bank, featuring air-gapped runners and mandatory manual approvals.
Module 11 Lesson 5: Global Monorepo
Master the massive. Explore the orchestration of a 100-service monorepo using Parent/Child pipelines, dynamic generation, and advanced caching to keep a large team synchronized.
Module 12: Capstone Project
Building an end-to-end production pipeline.
Capstone Part 1: Architecture and Planning
The big picture. Define the requirements, architecture, and technology stack for your final Enterprise CI/CD project: 'GlobalHealth Connect'.
Capstone Part 2: Building the Pipeline
From theory to YAML. Construct the core logic of the GlobalHealth Connect pipeline, focusing on image building, caching, and cross-stage artifacts.
Capstone Part 3: Security & Quality Gates
Fortify the health system. Implement automated security scans, secret detection, and code coverage requirements for the GlobalHealth Connect platform.
Capstone Part 4: Multi-Tier Deployment
The final stretch. Implement automated delivery to Staging and a manual-trigger, rolling update deployment to the Production environment for GlobalHealth Connect.
Final Review & Conclusion
Mission accomplished. Review the key takeaways from the GitLab CI/CD course and explore the next steps for your career, including the GitLab Certified Associate path.
Course Overview
Format
Self-paced reading
Duration
Approx 6-8 hours
Found this course useful? Support the creator to help keep it free for everyone.
Support the Creator