GitLab CI/CD: Architecting, Deploying, and Optimizing Pipelines
- Offered byKodeKloud
GitLab CI/CD: Architecting, Deploying, and Optimizing Pipelines at KodeKloud Overview
Duration | 13 hours |
Mode of learning | Online |
Official Website | Go to Website |
Credential | Certificate |
GitLab CI/CD: Architecting, Deploying, and Optimizing Pipelines at KodeKloud Highlights
- Earn a certificate after completion of course
GitLab CI/CD: Architecting, Deploying, and Optimizing Pipelines at KodeKloud Course details
Software developers
DevOps engineers
IT professionals seeking to master CI/CD automation with GitLab
Architecture & Core Concepts
Understanding the principles and components of GitLab CI/CD
Exploring the orchestration of CI/CD processes within GitLab
Continuous Integration with GitLab
Automating builds, tests, and code validation
Structuring pipelines and integrating with version control systems
Hands-on Lab: Exploring Pipeline Configuration
Hands-on Lab: Create a Pipeline with Unit testing and Code Coverage
Continuous Deployment with GitLab
Automating deployment processes and managing releases
Implementing blue-green deployments, canary releases, and rollback mechanisms
Hands-on Lab: Testing, Artifacts, and Cache
Hands-on Lab: Docker, and Services
Hands-on Lab: K8S - Deploy App to Dev and Staging Environment
Optimization, Security, and Monitoring
Fine-tuning performance and resource utilization
Implementing robust security measures and monitoring pipeline health
Hands-on Lab: Optimizing, Securing and Monitoring Pipelines
Self-Managed Runners
Customizing CI/CD infrastructure for optimal scalability
Managing resources efficiently with self-managed runners
Hands-on Lab: Install Runner and Execute AWS S3 Jobs
Auto DevOps
Streamlining CI/CD automation with GitLab's built-in feature
Simplifying the development lifecycle from code to production
Hands-on Lab: GitLab AutoDevOps
Embark on a comprehensive journey into the heart of GitLab CI/CD with this immersive course, designed to equip you with the knowledge and skills needed to architect, deploy, and optimize efficient pipelines within your projects
From foundational concepts to advanced techniques, dive deep into the world of Continuous Integration and Continuous Deployment with GitLab
GitLab CI/CD: Architecting, Deploying, and Optimizing Pipelines at KodeKloud Curriculum
Introduction
Course Introduction
Problem Statement (Meeting with XYZ Team)
Basics of CICD
Introducing GitLab CICD
Create GitLab Account
Join Our Community
Architecture & Core Concepts
GitLab CI CD Core Components
Create and Run a Basic Pipeline
Types of Runners
Types of Executors
GitLab CICD Architecture – SaaS
Run Jobs with Shared Runners
Install Third Party Libraries using before_script
Executing Shell Scripts in a Job
Pipeline with Multiple Dependent Jobs )
Using stage vs stages Keyword
Artifacts – Storing Job Data
Using needs Keyword
Lab 1 – Exploring Pipeline Configuration Part-1
Feedback: GitLab CI/CD
Working with Variables at different levels
Masking Variables using Project Settings
Exploring Predefined CICD Variables
Intro to Merge Requests
Raise a Merge Request & Use rules at Job level
Use rules at Workflow Level
Pipeline Schedules
Resource Groups
Use Job Timeout
Use Job Images
Parallel Matrix
Skipping Pipeline Trigger
Lab 2 – Exploring Pipeline Configuration Part-2
Feedback: GitLab CI/CD
Continuous Integration with GitLab
Project Status Meeting – 1
NodeJS Application Overview
Run and Test NodeJS App on Local Machine
Understanding XYZ Team DevOps Pipeline
Import Git Repo
Pipeline – Configure Unit Testing
Artifacts – Unit Test Reports
Pipeline – Configure Coverage and Archive Reports
Ignoring Job Failure
Exploring Reports through Merge Request
Caching Dependencies
Invalidate Cache
Project Status Meeting – 2
Lab 3 – Testing, Artifacts, and Cache
Feedback: GitLab CI/CD
What are Services
Run Unit Testing & Code Coverage Jobs using Services
Docker Build
Docker Test
Docker Push
Publish Image to Gitlab Container Registry
Project Status Meeting – 3
Lab 4 – Docker, and Services
Feedback: GitLab CI/CD
Continuous Deployment with GitLab
Understanding Deployment Pipeline
Kubernetes – A Brief Overview
Exploring Kubernetes Cluster
Job – Setup Kubectl
Job – Configuring Kubeconfig file
Job – Replace Placeholders Tokens
Job – Create Secret and Deploy to K8S Dev Environment
Job – Fetch Ingress URL & Integration testing
Understand Gitlab Environments
Environment and Deployments
Connecting a Kubernetes cluster with GitLab via agentK
Configure Gitlab Agent
Customize Agent Config and Staging Environment
Manually Promote to Staging Environment via agentK
Lab 5 – K8S – Deploy App to Dev and Staging Environment
Feedback: GitLab CI/CD
Optimization, Security and Monitoring
Optimize CICD configuration files
Extends – Reuse Configuration – NodeJS Jobs
Anchors – Reuse Configuration – Deployment Jobs
Reference Tags – Reuse Configuration – Integration Testing
Template and Types of Includes
Component – Code Quality
Template – SAST
Component – Secret Detection
Template- Container Scanning
Slack Channel Notifications
ChatOps with Slack
Pipeline Monitoring with Prometheus and Grafana
Adding a Pipeline status & Code Coverage Badge
Lab 6 – Optimizing, Securing and Monitoring Pipelines
Feedback: GitLab CI/CD
Self-Managed Runners
Self-Managed Runners
Install Project Runner on Linux Machine with Shell Executor
Run Jobs on the installed Shell Executor
Install Group Runner on Linux Machine with Docker Executor
Use Local Template to Upload Reports to AWS/Minio S3 Bucket
Lab 7 – Install Runner and Execute AWS S3 Jobs
Feedback: GitLab CI/CD
Auto DevOps
What is Auto DevOps
Configuring AutoDevOps
Raise a Merge Request and Checkout AutoDevOps
Fixing Issues and Deploying to Review Environment
Automatic Deployment to Production Environment
Switch to ULTIMATE Tier
Staging Environment and Canaray Deployment with AutoDevOps part 1
Staging Environment and Canaray Deployment with AutoDevOps part 2
Rollback Deployment
AutoDevOps Customization
Feedback: GitLab CI/CD