Duration:

1 Day

Audience:

Employees of federal, state and local governments; and businesses working with the government.

Attendees should already be familiar at a basic knowledge level with the following concepts:

  • Familiarity with agile development and source code management
  • GitLab with Git Basics course or equivalent knowledge

Course Description:

In a hands-on environment, learn to use the GitLab toolset to start, progress, or mature your CI/CD environment in a way that integrates with your existing pipelines with GitLab.

This course covers setting up continuous integration/continuous deployment (CI/CD) for your projects. It starts with a round-robin discussion of where your team is at with CI/CD today. It then focuses on what is CI/CD, why it should be used, and how to implement within GitLab. This class includes live demonstrations of the use of GitLab.

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.

This class provides students with the necessary training to achieve their GitLab CI/CD Associate certification. The certification fee is not included in the course price. To earn certification, GitLab CI/CD Training participants must receive a passing score on both a written assessment and a lab assessment evaluated by a GitLab Professional Services Engineer

Learning Objectives:

  • How to accurately describe CI/CD
  • How runners work
  • To set up and configure CI/CD and runners
  • To verify a new feature
  • Scope and persist variables at various levels
  • Scaffold out the basics of a test, build, review, and deploy pipeline leveraging feature/topic branching as the review mechanism
  • Release and deployment workflow
  • Artifacts and dependency caching
  • Building and deploying images to GitLab registry
  • Student choice between static application security scanning and code quality scanning

Course Outline:

Part 1: GitLab Overview and Flow

  • What is GitLab
  • Today’s Software Delivery Landscape
  • GitLab Workflow and Example
  • What is CI/CD
  • GitLab’s CI/CD Workflow
  • Why Use CI/CD
  • Dogfooding: Building GitLab with GitLab
  • Demo: GitLab Introduction/Navigation

Part 2: Architecture and Runners

  • GitLab CI/CD Basic Flow
  • Configuration File and Runners
  • Runner Architecture
  • Runner Characteristics and Types
  • Advanced Runner Options
  • Common Executors
  • Demo: Runner Registration
  • Config.toml File

Part 3: Anatomy of a Pipeline

  • Anatomy of a CI/CD Pipeline
  • Basic Pipeline Builds
  • Directed Acyclic Graph Pipelines
  • Child and Parent Pipelines
  • GitLab Pipeline Graph
  • .gitlab-ci.yml Example
  • Basic Parameters: Definitions and Examples
  • Demo: GitLab Pipeline Configuration
  • Hands-on Lab: Create a CI Pipeline

Part 4: Advanced Keywords and DRY

  • Advanced Parameters
  • Dependencies
  • Needs
  • Parallel
  • Trigger

Part 5: Variable Precedence & Scoping

  • Microlearning Game- Reviewing Day 1
  • Hands-On Lab: Create a CI/CD Pipeline
  • Hands-On Lab: Define a Pipeline with Environments
  • Hands-On Lab: Variable Hierarchy
  • Variable Priority

Part 6: Job Policy Patterns

  • Hands-On Lab: Scaffold Out a Job Policy Pattern
  • Microlearning Game: Pipeline Review

Part 7: Artifacts and Dependencies

  • Hands-On Lab: Artifact Hierarchy

Part 8: Registry & Deployments

  • What are Package and Container Registries?
  • Hands-On Lab: GitLab Docker Registry

Part 9: Security Scanning or Code Quality Scanning (student choice)

  • Hands-On Lab: Enabling Security Scanning OR Code Quality