DevOpsLesson
DevOpsLesson

Free, comprehensive DevOps tutorials and learning roadmaps. Master Docker, Kubernetes, CI/CD, and more.

Stay Updated

Get notified about new tutorials and features.

Tutorials

  • What is DevOps?
  • Docker Tutorial
  • Terraform Tutorial
  • CI/CD Pipeline
  • All Tutorials

Roadmaps

  • DevOps Engineer
  • Cloud Engineer
  • SRE Path
  • All Roadmaps

Company

  • About Us
  • Blog
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 DevOpsLesson. All rights reserved.

Tutorial

GitLab CI/CD Tutorial

Master GitLab CI/CD from scratch: pipelines, stages, jobs, runners, variables, Docker builds, testing, security scanning, AWS deployments, and multi-project pipelines.

Start Learning

16 lessons in this tutorial

1

Introduction to CI/CD

Learn what CI/CD means, why every software team needs it, how Continuous Integration, Continuous Delivery, and Continuous Deployment differ, and what a modern pipeline looks like from commit to production.

2

Getting Started with GitLab CI/CD

Create your first GitLab CI/CD pipeline from scratch, write a .gitlab-ci.yml file, understand GitLab Runners, trigger your first pipeline, and read the job output. Step-by-step tutorial for beginners.

3

Stages, Jobs, Artifacts & Cache

Understand how GitLab pipelines are organized with stages and jobs, how artifacts move files between jobs, and how cache speeds up repeated work.

4

GitLab CI Stages and Jobs

Master GitLab CI/CD stages and jobs, learn how to define pipeline stages, write job scripts, use rules and only/except conditions, control job ordering, and run parallel jobs.

5

GitLab CI Artifacts

Learn GitLab CI artifacts, how to define, use, and download build artifacts, pass files between jobs, set expiration times, and use artifacts for test reports and deployment packages.

6

GitLab CI Cache

Speed up your GitLab CI pipelines with caching, learn how to define cache paths, set cache keys, understand cache policies, and cache node_modules, pip packages, and Maven dependencies.

7

Variables, Secrets and Environments in GitLab CI

Master GitLab CI/CD variables, predefined variables, custom variables, masked and protected secrets, group-level variables, environment-scoped variables, and .env file injection.

8

GitLab Runners

Learn what a GitLab Runner is, how GitLab CI runners execute jobs, runner types, executor choices, runner registration, tags, security, concurrency, and a full Docker executor example.

9

GitLab CI Pipeline Rules

Learn GitLab CI rules, rules if, rules changes, rules exists, workflow rules, merge request pipeline conditions, manual jobs, and how to control exactly when GitLab pipelines and jobs run.

10

GitLab CI Environments

Learn GitLab CI environments, deployment tracking, review apps, environment URLs, protected environments, deployment approvals, scoped variables, DORA metrics, and a complete multi-environment deployment example.

11

GitLab CI Docker Workflows

Learn GitLab CI Docker pipelines, per-job and global images, Docker-in-Docker, Kaniko, GitLab Container Registry authentication, Docker Hub pushes, tagging strategies, and a complete build and push example.

12

GitLab CI Testing

Learn GitLab CI testing, unit tests, JUnit reports, code coverage, coverage badges, cobertura visualization, parallel test execution, CI test variables, and a complete Jest pipeline example.

13

GitLab CI Security Scanning

Learn GitLab CI security scanning with SAST, DAST, secret detection, dependency scanning, container scanning, security reports, and DevSecOps best practices for secure pipelines.

14

GitLab CI Deploy to AWS

Learn GitLab CI deploy AWS patterns including CI/CD variables, AWS OIDC, S3 deployments, EC2 SSH deploys, ECR image pushes, ECS service updates, and Terraform automation.

15

GitLab CI Multi-Project Pipelines

Learn GitLab multi-project pipelines, downstream triggers, child pipelines, include strategies, trigger API usage, dynamic child pipelines, and cross-project dependencies in GitLab CI/CD.

16

GitLab CI Best Practices

Learn GitLab CI best practices for faster pipelines, better caching, DAG execution with needs, reusable templates, rules-based workflows, protected deployments, and pipeline performance optimization.