GitLab CI/CD: pipelines, runners and environments

Write clear .gitlab-ci.yml pipelines with rules, needs and caching, run your own runners, and deploy to protected environments with approvals and OIDC

6 ratings 1,180 students Sample

Created by Rahul Menon

  • Updated September 2026
  • English
  • Intermediate

What you will learn

  • Write .gitlab-ci.yml pipelines with stages, jobs, rules and needs
  • Speed up pipelines with caching, artifacts and parallel jobs
  • Reuse configuration with include, extends and CI/CD components
  • Install and secure a self managed GitLab Runner
  • Deploy to environments with protection rules and approvals
  • Use OIDC ID tokens and protected variables to handle credentials safely

Course content

6 sections, 25 lessons, 3h 50m total

Pipeline fundamentals 5 lessons · 44 min
  • Video: How GitLab CI/CD works Preview 8 min
  • Article: Controlling when jobs run with rules Preview 11 min
  • Article: Faster pipelines with needs, cache and artifacts 11 min
  • Article: Reading job logs and fixing failures 9 min
  • Quiz: Check your understanding 5 min
Reusable configuration 4 lessons · 38 min
  • Video: extends and YAML anchors 9 min
  • Video: include: sharing configuration across projects 10 min
  • Article: CI/CD components and the catalog 10 min
  • Video: Parent child and multi project pipelines 9 min
Building and publishing 4 lessons · 37 min
  • Video: Building container images 11 min
  • Article: Scanning and quality checks 9 min
  • Video: Releases and package registries 9 min
  • Video: Merge trains and keeping main green 8 min
Runners 4 lessons · 39 min
  • Article: Hosted and self managed runners 9 min
  • Video: Installing GitLab Runner with the Docker executor 11 min
  • Video: Runners on Kubernetes 10 min
  • Article: Securing runners 9 min
Environments and deployments 4 lessons · 40 min
  • Video: Environments and review apps 10 min
  • Video: Protected environments and approvals 10 min
  • Article: OIDC ID tokens for cloud access 11 min
  • Video: Handling variables and secrets safely 9 min
Running pipelines well 4 lessons · 32 min
  • Video: Pipeline efficiency and cost 9 min
  • Article: Scheduled pipelines and maintenance jobs 8 min
  • Video: Migrating from another CI system 9 min
  • Quiz: Final check 6 min

Requirements

  • Basic Git and GitLab usage
  • Experience running tests for a project in any language
  • Basic YAML reading skills

Description

GitLab includes CI/CD in the same place as your code, issues and merge requests, which makes it a natural choice for many teams. Its pipeline syntax is powerful and, without some discipline, easy to turn into a tangle of copy pasted YAML. This course teaches you to build pipelines that stay fast and readable as projects grow.

What you will build

Starting from a sample web service, you will create:

  • A merge request pipeline that lints, tests and builds
  • Job ordering with stages and the needs keyword for faster pipelines
  • Caching and artifacts used correctly
  • Reusable configuration with include, extends and CI/CD components
  • Container image builds pushed to the GitLab container registry
  • Deployments to review apps, staging and a protected production environment with approvals
  • Cloud access through OIDC ID tokens instead of stored keys

Runners and security

We also cover GitLab Runner: shared versus self managed runners, executors such as Docker and Kubernetes, and how to keep runners and CI variables secure. Pipeline security is part of every section, not an afterthought.

Examples work on GitLab.com and on self managed GitLab. The sample service is written in Python, with notes for Node.js and Go.

Who this course is for

  • Developers setting up GitLab CI/CD for a team
  • DevOps engineers maintaining large GitLab pipelines
  • Teams migrating to GitLab from another CI system

Instructor

Rahul Menon

DevOps engineer teaching GitHub Actions and Terraform for small teams that ship every day

  • 4.4 instructor rating
  • 21 reviews
  • 6,820 students
  • 3 courses
  • Sample

I help teams move from manual releases to pipelines they trust. Most of my work is GitHub Actions workflows, Terraform modules and the review habits that keep both maintainable.

I teach CI/CD and infrastructure as code as everyday engineering, not as a separate specialism. That means readable YAML, small reusable pieces, secrets handled properly and plans that a reviewer can understand in two minutes.

Every course uses a sample repository you fork and change. You will break the pipeline on purpose, read the logs and fix it, because that is the skill you will use most.

View profile

Student reviews

4.3 6 ratings
5 star 50%
4 star 33%
3 star 17%
2 star 0%
1 star 0%
Sophie L. Sep 26, 2026
Sample

Protected environments done right

Approvals, deployment freezes and OIDC for AWS gave us a clean production process.

Marek P. Sep 12, 2026
Sample

Workflow rules fixed duplicate pipelines

We had two pipelines for every push for a year. The workflow rules example solved it in minutes.

Chiamaka E. Aug 21, 2026
Sample

needs made our pipeline much faster

Switching our monorepo to needs based ordering cut pipeline time roughly in half.

Henrik S. Jul 3, 2026
Sample

Good runner content

Installing and securing our own runners was clearly explained. Kubernetes runner lesson was short but useful.

Valentina R. May 19, 2026
Sample

Components lesson is very useful

We now publish shared CI components with versions instead of copying YAML between projects.

Ahmet Y. May 11, 2026
Sample

Solid, some overlap with docs

Accurate and organised, but early lessons repeat the official documentation closely.

$44.99 Enroll now
SampleSample catalog: the instructors, courses, reviews and stats on this site are demo content.