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