> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Course: GitLab CI/CD: Architecting, Deploying, and Optimizing Pipelines

> Introductory course on GitLab CI/CD teaching pipelines, runners, testing, containerization, Kubernetes deployments, secrets management, and hands on labs to automate builds, tests, and deployments

Notes for the **GitLab CI/CD: Architecting, Deploying, and Optimizing Pipelines** course: 91 lessons across 7 sections.

## Introduction

* [Course Introduction](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Introduction/Course-Introduction/page.md)
* [Problem Statement Meeting with XYZ Team](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Introduction/Problem-Statement-Meeting-with-XYZ-Team/page.md)
* [Basics of CICD](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Introduction/Basics-of-CICD/page.md)
* [Introducing GitLab CICD](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Introduction/Introducing-GitLab-CICD/page.md)
* [Create GitLab Account](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Introduction/Create-GitLab-Account/page.md)

## Architecture & Core Concepts

* [GitLab CI CD Core Components](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/GitLab-CI-CD-Core-Components/page.md)
* [Create and Run a Basic Pipeline](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Create-and-Run-a-Basic-Pipeline/page.md)
* [Types of Runners](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Types-of-Runners/page.md)
* [Types of Executors](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Types-of-Executors/page.md)
* [GitLab CICD Architecture SaaS](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/GitLab-CICD-Architecture-SaaS/page.md)
* [Run Jobs with Shared Runners](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Run-Jobs-with-Shared-Runners/page.md)
* [Install Third Party Libraries using before script](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Install-Third-Party-Libraries-using-before-script/page.md)
* [Executing Shell Scripts in a Job](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Executing-Shell-Scripts-in-a-Job/page.md)
* [Pipeline with Multiple Dependent Jobs](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Pipeline-with-Multiple-Dependent-Jobs/page.md)
* [Using stage vs stages Keyword](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Using-stage-vs-stages-Keyword/page.md)
* [Artifacts Storing Job Data](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Artifacts-Storing-Job-Data/page.md)
* [Using needs Keyword](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Using-needs-Keyword/page.md)
* [Working with Variables at different levels](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Working-with-Variables-at-different-levels/page.md)
* [Masking Variables using Project Settings](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Masking-Variables-using-Project-Settings/page.md)
* [Exploring Predefined CICD Variables](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Exploring-Predefined-CICD-Variables/page.md)
* [Intro to Merge Requests](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Intro-to-Merge-Requests/page.md)
* [Raise a Merge Request amp Use rules at Job level](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Raise-a-Merge-Request-amp-Use-rules-at-Job-level/page.md)
* [Use rules at Workflow Level](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Use-rules-at-Workflow-Level/page.md)
* [Pipeline Schedules](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Pipeline-Schedules/page.md)
* [Resource Groups](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Resource-Groups/page.md)
* [Use Job Timeout](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Use-Job-Timeout/page.md)
* [Use Job Images](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Use-Job-Images/page.md)
* [Parallel Matrix](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Parallel-Matrix/page.md)
* [Skipping Pipeline Trigger](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Skipping-Pipeline-Trigger/page.md)

## Continuous Integration with GitLab

* [Project Status Meeting 1](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Project-Status-Meeting-1/page.md)
* [NodeJS Application Overview](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/NodeJS-Application-Overview/page.md)
* [Run and Test NodeJS App on Local Machine](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Run-and-Test-NodeJS-App-on-Local-Machine/page.md)
* [Understanding XYZ Team DevOps Pipeline](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Understanding-XYZ-Team-DevOps-Pipeline/page.md)
* [Import Git Repo](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Import-Git-Repo/page.md)
* [Pipeline Configure Unit Testing](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Pipeline-Configure-Unit-Testing/page.md)
* [Artifacts Unit Test Reports](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Artifacts-Unit-Test-Reports/page.md)
* [Pipeline Configure Coverage and Archive Reports](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Pipeline-Configure-Coverage-and-Archive-Reports/page.md)
* [Ignoring Job Failure](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Ignoring-Job-Failure/page.md)
* [Exploring Reports through Merge Request](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Exploring-Reports-through-Merge-Request/page.md)
* [Caching Dependencies](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Caching-Dependencies/page.md)
* [Invalidate Cache](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Invalidate-Cache/page.md)
* [Project Status Meeting 2](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Project-Status-Meeting-2/page.md)
* [What are Services](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/What-are-Services/page.md)
* [Run Unit Testing amp Code Coverage Jobs using Services](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Run-Unit-Testing-amp-Code-Coverage-Jobs-using-Services/page.md)
* [Docker Build](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Docker-Build/page.md)
* [Docker Test](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Docker-Test/page.md)
* [Docker Push](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Docker-Push/page.md)
* [Publish Image to Gitlab Container Registry](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Publish-Image-to-Gitlab-Container-Registry/page.md)
* [Project Status Meeting 3](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Project-Status-Meeting-3/page.md)

## Continuous Deployment with GitLab

* [Understanding Deployment Pipeline](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Understanding-Deployment-Pipeline/page.md)
* [Kubernetes A Brief Overview](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Kubernetes-A-Brief-Overview/page.md)
* [Exploring Kubernetes Cluster](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Exploring-Kubernetes-Cluster/page.md)
* [Job Setup Kubectl](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Job-Setup-Kubectl/page.md)
* [Job Configuring Kubeconfig file](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Job-Configuring-Kubeconfig-file/page.md)
* [Job Replace Placeholders Tokens](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Job-Replace-Placeholders-Tokens/page.md)
* [Job Create Secret and Deploy to K8S Dev Environment](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Job-Create-Secret-and-Deploy-to-K8S-Dev-Environment/page.md)
* [Job Fetch Ingress URL amp Integration testing](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Job-Fetch-Ingress-URL-amp-Integration-testing/page.md)
* [Understand Gitlab Environments](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Understand-Gitlab-Environments/page.md)
* [Environment and Deployments](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Environment-and-Deployments/page.md)
* [Connecting a Kubernetes cluster with GitLab via agentK](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Connecting-a-Kubernetes-cluster-with-GitLab-via-agentK/page.md)
* [Configure Gitlab Agent](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Configure-Gitlab-Agent/page.md)
* [Customize Agent Config and Staging Environment](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Customize-Agent-Config-and-Staging-Environment/page.md)
* [Manually Promote to Staging Environment via agentK](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Manually-Promote-to-Staging-Environment-via-agentK/page.md)

## Optimization, Security and Monitoring

* [Optimize CICD configuration files](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Optimize-CICD-configuration-files/page.md)
* [Extends Reuse Configuration NodeJS Jobs](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Extends-Reuse-Configuration-NodeJS-Jobs/page.md)
* [Anchors Reuse Configuration Deployment Jobs](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Anchors-Reuse-Configuration-Deployment-Jobs/page.md)
* [Reference Tags Reuse Configuration Integration Testing](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Reference-Tags-Reuse-Configuration-Integration-Testing/page.md)
* [Template and Types of Includes](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Template-and-Types-of-Includes/page.md)
* [Component Code Quality](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Component-Code-Quality/page.md)
* [Template SAST](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Template-SAST/page.md)
* [Component Secret Detection](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Component-Secret-Detection/page.md)
* [Template Container Scanning](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Template-Container-Scanning/page.md)
* [Slack Channel Notifications](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Slack-Channel-Notifications/page.md)
* [ChatOps with Slack](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/ChatOps-with-Slack/page.md)
* [Pipeline Monitoring with Prometheus and Grafana](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Pipeline-Monitoring-with-Prometheus-and-Grafana/page.md)
* [Adding a Pipeline status amp Code Coverage Badge](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Adding-a-Pipeline-status-amp-Code-Coverage-Badge/page.md)

## Self-Managed Runners

* [Self Managed Runners](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Self-Managed-Runners/Self-Managed-Runners/page.md)
* [Install Project Runner on Linux Machine with Shell Executor](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Self-Managed-Runners/Install-Project-Runner-on-Linux-Machine-with-Shell-Executor/page.md)
* [Run Jobs on the installed Shell Executor](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Self-Managed-Runners/Run-Jobs-on-the-installed-Shell-Executor/page.md)
* [Install Group Runner on Linux Machine with Docker Executor](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Self-Managed-Runners/Install-Group-Runner-on-Linux-Machine-with-Docker-Executor/page.md)
* [Use Local Template to Upload Reports to AWSMinio S3 Bucket](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Self-Managed-Runners/Use-Local-Template-to-Upload-Reports-to-AWSMinio-S3-Bucket/page.md)

## Auto DevOps

* [What is Auto DevOps](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/What-is-Auto-DevOps/page.md)
* [Configuring AutoDevOps](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Configuring-AutoDevOps/page.md)
* [Raise a Merge Request and Checkout AutoDevOps](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Raise-a-Merge-Request-and-Checkout-AutoDevOps/page.md)
* [Fixing Issues and Deploying to Review Environment](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Fixing-Issues-and-Deploying-to-Review-Environment/page.md)
* [Automatic Deployment to Production Environment](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Automatic-Deployment-to-Production-Environment/page.md)
* [Switch to ULTIMATE Tier](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Switch-to-ULTIMATE-Tier/page.md)
* [Staging Environment and Canary Deployment with AutoDevOps part 1](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Staging-Environment-and-Canary-Deployment-with-AutoDevOps-part-1/page.md)
* [Staging Environment and Canary Deployment with AutoDevOps part 2](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Staging-Environment-and-Canary-Deployment-with-AutoDevOps-part-2/page.md)
* [Rollback Deployment](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Rollback-Deployment/page.md)
* [AutoDevOps Customization](/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/AutoDevOps-Customization/page.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.