Become a GitLab CI/CD Pro — Build real DevOps Pipelines
GitLab CI/CD is one of the most popular CI/CD platforms! More and more companies are adopting it. So, the need for Developers or DevOps engineers, who know how to build complete CI/CD pipelines on GitLab is increasing
So, you'll have built several CI/CD pipelines with real life examples & best practices!
While many GitLab courses teach you only the basics, we will dive into more advanced demos, like implementing dynamic versioning, using cache to speed up the pipeline execution or deploying to a K8s cluster.
As usual you can expect complex topics explained in a simple way, animations to help you understand the concepts better and lots of hands-on demos!
By the end of this course, you'll be able to
Confidently use GitLab CI/CD at your work
Set up self-managed GitLab Runners
Build and deploy containers with Docker Compose
Configure a CI/CD pipeline for a Monorepo Microservice
Configure a CI/CD pipeline for a Polyrepo Microservice
Setup a CI/CD pipeline with best practices
Deploy to a managed Kubernetes cluster
Build a Multi-Stage Pipeline
Course Curriculum
Your Path to become a CI/CD Pro!
Chapter 1:
Introduction to CI/CD and GitLab
1 - What is CI/CD
2 - Introduction to GitLab CI/CD
3 - How GitLab compares to other CI/CD platforms
Chapter 2:
Core Concepts of GitLab CI/CD
1 - Chapter Introduction
2 - Jobs: Basic Building Blocks of Pipeline
3 - Execute Pipeline
4 - Stages: Group jobs
5 - needs: Dependency between jobs
6 - script: Inline shell commands and executing shell script
7 - only: Specify when job should run
8 - Workflow Rules: Control Pipeline behavior
9 - Trigger Pipeline on Merge Request
10 - Predefined CI/CD Variables in GitLab
11 - Define Custom Variables
Chapter 3:
GitLab Architecture
1 - GitLab Runners for running the jobs
2 - GitLab Executors - Different Executor Types
3 - Job Execution Flow
4 - Docker Executor
5 - Specific Runners: Runner for specific project
6 - Demo Overview: Configure self-managed Runners
7 - Install & Register Local Runner on MacOS
8 - Install & Register Local Runner on Windows
9 - AWS Pre-Requisite
10 - Install & Register an AWS EC2 Runner
11 - Execute jobs on specific Runner (Tags)
12 - Add Docker Runner on EC2 Instance
13 - Group Runners: Runner for a GitLab Group
14 - Self-Managed GitLab Instance
15 - Note on GitLab Runner Versions Compatibility
16 - GitLab Architecture Recap
Chapter 4:
Build a real life CI/CD Pipeline for Node.js Application
1 - Demo Overview & Node.js Project Overview
2 - Run Unit Tests & Collect Test Reports
3 - Build Docker Image & Push to Private Registry
4 - Deploy to DEV Server
5 - GitLab Environments: Describe where code is deployed
6 - Deploy with Docker Compose
Chapter 5:
Optimize CI/CD Pipeline & Configure Multi-Stage Pipeline
1 - Section Overview
2 - Configure Dynamic Versioning for Docker Image
3 - Configure Caching to speed up Pipeline execution
4 - Testing in CI/CD & Configure Security Tests (SAST)
5 - Intro to Multi-Stage Deployments (Multi-Stage Demo - Part 1)
6 - Promote to Staging (Multi-Stage Demo - Part 2)
7 - Reuse pipeline configuration using extends (Multi-Stage Demo - Part 3)
8 - Promote to Production (Multi-Stage Demo - Part 4)
Chapter 6:
CI/CD MicroService Application (Mono and Polyrepo)
1 - What are Microservices?
2 - Monorepo vs Polyrepo
3 - Demo Overview
4 - Monorepo - Start services locally and get to know the Application
5 - Prepare Deployment Server (Monorepo Demo - Part 1)
6 - Build Micro Services (Monorepo Demo - Part 2)
7 - Deploy Micro Services (Monorepo Demo - Part 3)
8 - CI/CD pipeline for Polyrepo
9 - Extract common logic (Job Templates - Part 1)
10 - CI Templates - Library for all projects (Job Templates - Part 2)
Chapter 7:
Deploy Microservices to Kubernetes cluster
1 - Introduction & Demo Overview
1.1 - Pre-Requisite: Kubernetes Crash Course
2 - Create a K8s cluster on LKE
3 - Create GitLab User with restricted Permissions
4 - Deploy to Kubernetes Part 1
5 - Deploy to Kubernetes Part 2
6 - Wrap Up & Delete all cloud resources
Who this course is for:
Software Developers
DevOps Engineers
System Administrators
Especially for people, who have basic IT knowledge and
-
want to learn how to set up real life pipelines
-
want to learn how to build a CI/CD pipeline with GitLab platform