GitLab CI/CD Specialist study materials
GitLab CI/CD Specialist study resources

GitLab CI/CD Specialist study plan

GitLab CI/CD Specialist · Give each week a clear focus.

8 weeks · About 6 hours per week

Week 1

Pipeline configuration and authoring

  • Write a .gitlab-ci.yml from scratch that defines at least four stages, uses global defaults (default:, workflow:), and passes the CI Lint API check

  • Convert a hand-written job body into an anchored template and reuse it across three jobs using extends: with YAML anchors

  • Explain and demonstrate the difference between before_script/after_script scoping at global and job level, including after_script failure behavior

  • Author a pipeline with hidden jobs (dot-prefixed) and verify they are not scheduled using the pipeline editor's visualization

Your checkpoint

A public repository with a lint-clean .gitlab-ci.yml covering stages, default:, extends:, anchors, and after_script, plus a README explaining each keyword used

Week 2

Pipeline configuration and authoring & Runners, executors, and job execution environment

  • Compare shell, docker, and kubernetes executors by listing image, service, and volume behavior for each

  • Register a local runner with a Docker executor and pin a job to it via tags

  • Reproduce the image entrypoint pitfall and fix it with entrypoint: [""] and an explicit command

  • Configure a services: entry for a database and confirm the job connects over the service hostname alias

Your checkpoint

A runner registration log plus three jobs (shell-tagged, docker-tagged, docker-tagged with services) that all pass, with a short writeup of the executor differences observed

Week 3

Runners, executors, and job execution environment & Jobs orchestration: rules, needs, stages, and triggers

  • Configure concurrent runners and demonstrate two jobs of the same stage running simultaneously

  • Use needs: to build a DAG that skips stage ordering and record the resulting job start times

  • Implement rules: with changes:, exists:, and if: clauses to include or exclude jobs per branch

  • Debug a runner that never picks up a job by checking tags, protected status, and runner scope in order

Your checkpoint

A pipeline screenshot or trace export showing a needs-based DAG where a later-stage job starts before an earlier stage finishes, plus a rules matrix table in the README

Week 4

Variables, secrets, and protected configuration & Pipeline efficiency: caching, artifacts, and parallelism

  • Define CI/CD variables at project and group level and mask a secret so it is hidden in job logs

  • Restrict a variable to protected branches and prove it is unavailable on a feature branch

  • Configure cache: with a key based on CI_COMMIT_REF_SLUG and verify cache hit/miss across two pipelines

  • Distinguish cache from artifacts by consuming one artifact in a downstream job with dependencies:

Your checkpoint

A pipeline that runs on both a feature branch and the default branch, showing protected-variable absence on the feature branch and a cache hit on the second run, documented with log excerpts

Week 5

Pipeline efficiency: caching, artifacts, and parallelism

  • Use parallel: with a numeric value to split a test suite across runners and merge results

  • Implement parallel:matrix: to run the same job across three language versions

  • Apply rules:changes: to skip expensive jobs when only docs change, and confirm the skip in the pipeline graph

  • Introduce a retry: policy for runner_system_failure and script_failure with max limits

Your checkpoint

A test pipeline whose wall-clock duration drops measurably versus a serial baseline, with before/after duration numbers recorded in the README

Week 6

Jobs orchestration: rules, needs, stages, and triggers

  • Build a multi-project pipeline with trigger: and pass variables downstream via trigger:strategy: depend

  • Create a parent-child pipeline using include: with a generated child YAML and explain the difference from multi-project triggers

  • Add a manual job gated by when: manual with allow_failure: false and describe how it blocks the stage

  • Implement interruptible: and auto-cancel redundant pipelines, then verify a superseded pipeline is cancelled

Your checkpoint

A three-project or parent-child pipeline setup where a downstream pipeline is triggered, blocks the upstream job, and a redundant pipeline is auto-cancelled on a new push

Week 7

Security, compliance, and troubleshooting pipelines

  • Harden a pipeline by moving secrets to masked variables, disabling debug tracing, and removing echo of credentials

  • Configure protected environments with a deployment approval and demonstrate the gate blocking a deploy job

  • Enable secret detection and dependency scanning in a pipeline and interpret one finding from the report

  • Diagnose a failing job from its trace using exit codes, section markers, and runner logs

Your checkpoint

A hardened pipeline with a protected environment approval gate and at least one security scan job, plus a troubleshooting note explaining a real failure you diagnosed from trace output

Week 8

Pipeline configuration and authoring & Runners, executors, and job execution environment & Variables, secrets, and protected configuration & Pipeline efficiency: caching, artifacts, and parallelism & Jobs orchestration: rules, needs, stages, and triggers & Security, compliance, and troubleshooting pipelines

  • Assemble a capstone pipeline combining anchors, needs DAG, matrix parallelism, caching, protected variables, and a manual deploy gate

  • Review every keyword in the capstone against the CI/CD reference and remove deprecated or redundant constructs

  • Time a full mock exam and log every missed question by domain

  • Re-study the two weakest domains using targeted rewrites of the capstone jobs

Your checkpoint

A complete capstone .gitlab-ci.yml with a written architecture summary and a scored practice-exam log identifying the two weakest domains

Milestones

Week 2: You can explain, without notes, why a docker-executor job fails when the image has an entrypoint that ignores the script, and name the two keywords that fix it

Week 4: You can state three concrete differences between cache and artifacts and correctly choose one for a given scenario in under a minute

Week 6: You can sketch a parent-child versus multi-project trigger diagram on paper and name which one supports trigger:strategy: depend

Week 8: Your capstone pipeline passes end to end and you score at least 75% on a timed practice set, with no domain below 60%