GitLab CI/CD Specialist study plan
GitLab CI/CD Specialist · Give each week a clear focus.
8 weeks · About 6 hours per week
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
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
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
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
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
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
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
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%