LearnDevOpsHands-On Labs
All Tutorials
🔄
Automation · Intermediate

CI/CD & DevOps Automation (GitLab)

Automate build, test, lint, security scans, container publishing, and automated canary deployments with GitLab CI/CD.

16 Modules & Lessons
Estimated Time: ~8 Hours

Curriculum & Notes

Click any title or "See Notes" to read concepts

1Module 1: Pipeline Foundations & Syntax

5 lessons
Introduction to CI/CD

Learn what CI/CD means: how continuous integration, delivery and deployment differ, why teams need automation and what a modern pipeline looks like.

Getting Started with GitLab CI/CD

Create your first GitLab CI/CD pipeline: write a minimal three-stage .gitlab-ci.yml, understand GitLab Runners, trigger a pipeline and read the job output.

GitLab CI/CD Pipeline Structure: How Pipelines, Stages, Jobs, Artifacts and Cache Fit Together

See how a GitLab pipeline is built: how pipelines, stages and jobs relate, what runners do, how needs breaks stage lockstep and where artifacts fit.

GitLab CI Stages and Jobs

Define GitLab CI stages and jobs: the stages keyword and ordering, job scripts, core job keywords, rules and only/except conditions, and parallel jobs.

GitLab CI Artifacts

Use GitLab CI artifacts to pass files between jobs and keep build output: set paths and expire_in, download from the UI, and compare dependencies with needs.

2Module 2: Runners, Environments & Variables

5 lessons
GitLab CI Cache

Speed up GitLab CI with caching: define cache paths and keys, use cache policies, see how cache differs from artifacts and cache node_modules and pip.

Variables, Secrets and Environments in GitLab CI

Use GitLab CI/CD variables safely: predefined and custom variables, masked and protected values, group-level and scoped variables, and precedence rules.

GitLab Runners

Learn what a GitLab Runner is and how it runs jobs: shared versus specific runners, executors, installing and registering on Ubuntu, and a Docker executor.

GitLab CI Pipeline Rules

Control exactly when GitLab CI jobs run with rules:if, rules:changes and rules:exists, plus workflow rules, merge request pipelines and manual jobs.

GitLab CI Environments

Track deployments with GitLab CI environments: the environment keyword, static versus dynamic environments, review apps, protected environments and approvals.

3Module 3: Advanced Workflows, Artifacts & Cache

6 lessons
GitLab CI Docker Workflows

Build and push Docker images in GitLab CI: compare Docker-in-Docker with Kaniko, authenticate to the Container Registry, pick tags and follow a full example.

GitLab CI Testing

Run tests in GitLab CI: collect JUnit reports, view results in merge requests, extract coverage with a regex, run in parallel and follow a Jest pipeline.

GitLab CI Security Scanning

Add security scanning to GitLab CI: SAST, DAST, secret detection, dependency and container scanning, and DevSecOps habits for secure pipelines.

GitLab CI Deploy to AWS

Deploy to AWS from GitLab CI using OIDC instead of static keys, then ship to S3 and EC2, push images to ECR, update ECS services and automate Terraform runs.

GitLab CI Multi-Project Pipelines

Trigger downstream pipelines in GitLab with the trigger keyword: pass variables, choose strategy depend or mirror, build child pipelines and use include.

GitLab CI Best Practices

Speed up GitLab CI pipelines with better caching, DAG execution using needs, reusable include templates, YAML anchors, rules and protected deployments.