Gitlab hero border pattern left svg Gitlab hero border pattern right svg

GitLab Education Services

GitLab CI/CD Training

Overview

This class explains what Continuous Integration/Continuous Deployment (CI/CD) pipelines are and what value they bring to the software development lifecycle. It also outlines the architecture behind GitLab's CI/CD pipelines and explains how to set up basic CI/CD pipelines in your own projects. Finally, it touches on a handful of specific CI/CD pipeline use cases, including pushing your app to a Docker Container registry and using one of GitLab's security scanners.

GitLab CI/CD Training covers some features that are available in all three GitLab pricing tiers (Free, Premium, and Ultimate), some features that are only available in Premium and Ultimate, and a small number of features that are only available in Ultimate.

Target Audience

Technical leads, development teams, quality assurance teams, release engineers

What’s Included

  • Live training sessions delivered by a GitLab technical trainer
  • Lecture with demonstrations
  • Hands-on labs
  • Slides with notes and reference links

Learning Objectives

  • Describe what CI/CD is and why it's a valuable part of the software development lifecycle
  • Explain how GitLab Runners work
  • Set up and configure a GitLab Runner
  • Create a simple CI/CD pipeline using build, test, and deploy stages
  • Use pipeline configuration variables with different scopes
  • Configure a pipeline to deploy code to the appropriate environment
  • Persist artifacts between different stages of a CI/CD pipeline
  • Use alternative pipeline shapes to speed up pipeline execution
  • Build and deploy Docker images to the project's registry
  • Use either static application security testing or code quality scanning (student choice)

Price

Remote: $5,000
At your site: $7,000 plus travel expenses for each instructor

Duration

Remote: normally delivered as two 4-hour sessions, presented on separate days.
On-site: normally delivered as a single 9-hour session, including 1 hour for lunch.

Class Size

Maximum 12 attendees. Order this seat add-on to increase total seats per class.

Course Syllabus

Part 1

Schedule Topic Overview
9:00a - 9:30a GitLab Overview & Flow
  • What is GitLab
  • Today's Software Delivery Landscape
  • GitLab Workflow & Example
  • What is CI/CD
  • GitLab's CI/CD Workflow
  • Why Use CI/CD
  • Dogfooding: Building GitLab with GitLab
  • Demo/Lab: Review a Sample CI/CD Section
9:30a - 10:30a CI/CD Pipeline Architecture and Runners
  • Configuration File & GitLab Runners
  • Runner Architecture
  • Runner Characteristics & Types
  • Runner Options
  • Runner Executors
  • Demo/Lab: Register a GitLab Runner for a simple pipeline
10:45a - 11:15a Anatomy of a Pipeline
  • Anatomy of a CI/CD Pipeline
  • Basic Pipeline Builds
  • Directed Acyclic Graph Pipelines
  • Child and Parent Pipelines
  • GitLab Pipeline Graph
  • Basic Keywords: Definitions & Examples
  • .gitlab-ci.yml Example
  • Demo/Lab: Create a Basic CI/CD Configuration
  • Demo/Lab: Display Environment Variables in a Pipeline
11:15a - 12:00p Advanced Keywords & DRY
  • Advanced Keywords
  • Writing Maintainable CI/CD Configuration Files
12:00 - 1:00p Lunch

Part 2

Schedule Topic Overview
9:00a - 10:00a Variable Precedence & Scoping
  • Microlearning Game: Reviewing Day 1
  • Variable Scope & Priority
  • Lab: Variable Hierarchy
10:00a - 10:30a Job Policy Patterns
  • Lab: Job Policy Pattern
  • Microlearning Game: Pipeline Review
10:45a - 11:15a Artifacts and Dependencies
  • Lab: Using Artifacts
11:15a - 12:00p Registry & Deployments
  • What are Package & Container Registries?
  • Lab: GitLab Docker Registry
12:00 - 1:00p Security Scanning OR Code Quality Scanning (student choice)
  • Lab: Enabling Security Scanning OR Code Quality Scanning (student choice)
Download the syllabus

Prerequisite Knowledge and Skills

Attendees should already have basic familiarity with these topics:

Here are some resources to help you prepare:

System Requirements

Computer with internet access and Git installed, per the requirements specified here.

Open in Web IDE View source