# KodeKloud: Beta Courses GitLab CI/CD: Architecting, Deploying, and Optimizing Pipelines

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

### Introduction

- [Course Introduction](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Introduction/Course-Introduction/page.md): This article introduces a GitLab CI/CD course focused on mastering automation in development workflows through continuous integration and delivery practices.
- [Problem Statement Meeting with XYZ Team](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Introduction/Problem-Statement-Meeting-with-XYZ-Team/page.md): This article explores DevOps prerequisites and demonstrates how GitLab CI/CD can streamline workflows for a software providers cloud migration and container strategy.
- [Basics of CICD](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Introduction/Basics-of-CICD/page.md): This article explains the key concepts of Continuous Integration and Continuous Delivery/Deployment, emphasizing their importance in modern software engineering.
- [Introducing GitLab CICD](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Introduction/Introducing-GitLab-CICD/page.md): This article explores how GitLab CI/CD automates build, test, security, and deployment tasks with minimal configuration.
- [Create GitLab Account](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Introduction/Create-GitLab-Account/page.md): Learn to set up and navigate your GitLab SaaS account, covering sign-in methods, namespaces, projects, CI/CD usage quotas, and compute usage calculation.

### Architecture & Core Concepts

- [GitLab CI CD Core Components](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/GitLab-CI-CD-Core-Components/page.md): This guide explores GitLab CI/CD components—Pipeline, Stages, Jobs, and Scripts—to automate testing, building, and deployment with a focus on configuration.
- [Create and Run a Basic Pipeline](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Create-and-Run-a-Basic-Pipeline/page.md): Learn to set up a simple CI/CD pipeline on GitLab, covering group creation, project initialization, configuration, and pipeline execution.
- [Types of Runners](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Types-of-Runners/page.md): This guide explores GitLab Runners, detailing Shared and Self-Managed options for executing CI/CD jobs based on organizational needs.
- [Types of Executors](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Types-of-Executors/page.md): GitLab CI/CD runners use executors to define isolated environments for pipeline jobs, ensuring consistency and repeatability across different runner hosts.
- [GitLab CICD Architecture SaaS](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/GitLab-CICD-Architecture-SaaS/page.md): This guide explores GitLab CI/CD pipelines, comparing SaaS and self-managed environments, focusing on deployment options, core components, and automated workflows.
- [Run Jobs with Shared Runners](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Run-Jobs-with-Shared-Runners/page.md): This guide explains how to configure GitLab CI/CD jobs to run on GitLab-hosted shared runners across various operating systems.
- [Install Third Party Libraries using before script](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Install-Third-Party-Libraries-using-before-script/page.md): Learn to use before_script in GitLab CI/CD to install dependencies and manage cleanup with an example using the cowsay gem.
- [Executing Shell Scripts in a Job](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Executing-Shell-Scripts-in-a-Job/page.md): Streamline GitLab CI/CD pipelines by using standalone shell scripts for improved readability, maintainability, and version control of build logic.
- [Pipeline with Multiple Dependent Jobs](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Pipeline-with-Multiple-Dependent-Jobs/page.md): This guide explains configuring a CI pipeline with build, test, and deploy stages while managing job dependencies and sharing artifacts.
- [Using stage vs stages Keyword](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Using-stage-vs-stages-Keyword/page.md): This article explains the use of `stage` and `stages` keywords in GitLab CI/CD for defining job execution order in pipelines.
- [Artifacts Storing Job Data](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Artifacts-Storing-Job-Data/page.md): This article explores how artifacts capture and persist files produced during job execution in GitLab CI/CD pipelines.
- [Using needs Keyword](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Using-needs-Keyword/page.md): This guide explains how to enhance a GitLab CI/CD pipeline using the `needs` keyword for job sequencing and efficient failure handling.
- [Working with Variables at different levels](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Working-with-Variables-at-different-levels/page.md): This guide explains how to define and manage variables at different scopes within a GitLab CI/CD pipeline.
- [Masking Variables using Project Settings](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Masking-Variables-using-Project-Settings/page.md): Learn to secure your GitLab CI/CD pipeline by masking sensitive variables in project settings to prevent accidental exposure.
- [Exploring Predefined CICD Variables](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Exploring-Predefined-CICD-Variables/page.md): This article explores GitLabs predefined CI/CD variables that provide contextual information for jobs, pipelines, and repositories to enhance flexibility and security.
- [Intro to Merge Requests](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Intro-to-Merge-Requests/page.md): GitLab Merge Requests facilitate collaborative development by allowing teams to propose, review, and integrate code changes between branches.
- [Raise a Merge Request amp Use rules at Job level](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Raise-a-Merge-Request-amp-Use-rules-at-Job-level/page.md): Learn to restrict GitLab CI/CD jobs to run only for merge request events using predefined variables and the rules keyword.
- [Use rules at Workflow Level](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Use-rules-at-Workflow-Level/page.md): Learn to implement workflow-level rules in GitLab CI/CD for dynamic variable setting and pipeline filtering based on branch patterns and file changes.
- [Pipeline Schedules](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Pipeline-Schedules/page.md): Automate pipeline runs in GitLab CI/CD by defining schedules that trigger at regular intervals or custom cron expressions.
- [Resource Groups](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Resource-Groups/page.md): Resource groups in GitLab CI/CD ensure mutual exclusion for critical jobs, allowing only one job in a group to run at a time.
- [Use Job Timeout](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Use-Job-Timeout/page.md): Learn to set job-level timeouts in GitLab CI/CD to prevent long-running jobs from blocking pipelines and consuming resources.
- [Use Job Images](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Use-Job-Images/page.md): Explains using Docker job images in GitLab CI to run Node.js, comparing installing Node during jobs versus using prebuilt images for faster reliable pipelines
- [Parallel Matrix](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Parallel-Matrix/page.md): This article demonstrates how to accelerate GitLab CI pipelines by using parallel jobs and matrix configurations.
- [Skipping Pipeline Trigger](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Architecture-Core-Concepts/Skipping-Pipeline-Trigger/page.md): This article explains how to skip unnecessary pipeline runs in GitLab CI/CD for non-functional changes using specific commit message directives.

### Continuous Integration with GitLab

- [Project Status Meeting 1](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Project-Status-Meeting-1/page.md): This article outlines a plan to build a GitHub Actions CI/CD pipeline for a Node.js application, covering preparatory tasks and workflow design.
- [NodeJS Application Overview](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/NodeJS-Application-Overview/page.md): This guide covers setting up a Node.js project, managing dependencies, running tests, and launching a web server.
- [Run and Test NodeJS App on Local Machine](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Run-and-Test-NodeJS-App-on-Local-Machine/page.md): Learn to run and test the Solar System Node.js application locally before integrating it into a GitLab CI/CD pipeline.
- [Understanding XYZ Team DevOps Pipeline](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Understanding-XYZ-Team-DevOps-Pipeline/page.md): This guide explains the GitLab CI/CD workflow for building, testing, and deploying the XYZ team’s Node.js application.
- [Import Git Repo](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Import-Git-Repo/page.md): This article explains how to import a Node.js application repository into GitLab, detailing prerequisites and a step-by-step guide.
- [Pipeline Configure Unit Testing](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Pipeline-Configure-Unit-Testing/page.md): This guide configures GitLab CI/CD for a NodeJS project and adds a unit testing job with environment variable management.
- [Artifacts Unit Test Reports](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Artifacts-Unit-Test-Reports/page.md): This guide explains how to collect and visualize JUnit-style test results in GitLab CI/CD using Mocha and Node.js.
- [Pipeline Configure Coverage and Archive Reports](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Pipeline-Configure-Coverage-and-Archive-Reports/page.md): This guide explains setting up a parallel code coverage job in GitLab CI/CD alongside unit tests and archiving reports.
- [Ignoring Job Failure](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Ignoring-Job-Failure/page.md): Learn to use the allow_failure keyword in GitLab CI/CD to ignore job failures and continue executing dependent jobs.
- [Exploring Reports through Merge Request](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Exploring-Reports-through-Merge-Request/page.md): This guide explores using GitLab CI’s reports keyword to display test and coverage reports in Merge Requests for immediate feedback.
- [Caching Dependencies](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Caching-Dependencies/page.md): This article explains how to cache npm packages in GitLab CI to improve pipeline efficiency and reduce installation time.
- [Invalidate Cache](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Invalidate-Cache/page.md): This guide explains how to force cache invalidation in GitLab CI/CD when project dependencies change.
- [Project Status Meeting 2](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Project-Status-Meeting-2/page.md): This article discusses issues with running CI tests against a production database and how to refactor the pipeline to use a dedicated test instance.
- [What are Services](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/What-are-Services/page.md): This guide covers GitLab CI/CD pipeline configurations using runners, Docker images, and service containers for efficient job execution.
- [Run Unit Testing amp Code Coverage Jobs using Services](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Run-Unit-Testing-amp-Code-Coverage-Jobs-using-Services/page.md): This guide explains how to configure Docker-based services in a GitLab CI/CD pipeline for unit testing and code coverage.
- [Docker Build](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Docker-Build/page.md): This guide explains how to build Docker images in a GitLab CI/CD pipeline using Docker-in-Docker.
- [Docker Test](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Docker-Test/page.md): This guide explains how to validate Docker images in GitLab CI/CD by adding a testing job to ensure containers are production-ready.
- [Docker Push](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Docker-Push/page.md): This guide explains how to add a docker_push job to a GitLab CI/CD pipeline for automating image uploads to Docker Hub.
- [Publish Image to Gitlab Container Registry](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Publish-Image-to-Gitlab-Container-Registry/page.md): This guide explains how to authenticate and publish Docker images to GitLabs integrated Container Registry using various methods and CI/CD pipelines.
- [Project Status Meeting 3](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Integration-with-GitLab/Project-Status-Meeting-3/page.md): The article discusses the refactoring of a CI/CD pipeline to improve database performance and outlines the next steps for deployment planning.

### Continuous Deployment with GitLab

- [Understanding Deployment Pipeline](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Understanding-Deployment-Pipeline/page.md): This guide explains how to extend a CI/CD pipeline to include Kubernetes deployments, integration tests, and manual approval steps.
- [Kubernetes A Brief Overview](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Kubernetes-A-Brief-Overview/page.md): Kubernetes is an open-source platform for automating deployment, scaling, and management of containerized applications.
- [Exploring Kubernetes Cluster](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Exploring-Kubernetes-Cluster/page.md): This guide covers inspecting a GKE cluster, listing nodes, viewing namespaces, deploying an NGINX app, and preparing namespaces for GitLab CI/CD.
- [Job Setup Kubectl](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Job-Setup-Kubectl/page.md): This guide explains how to add a dev-deploy stage in a GitLab CI pipeline to install kubectl and deploy Kubernetes manifests.
- [Job Configuring Kubeconfig file](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Job-Configuring-Kubeconfig-file/page.md): This guide explains how to inject a Kubernetes kubeconfig into a GitLab CI pipeline for kubectl authentication and cluster interaction.
- [Job Replace Placeholders Tokens](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Job-Replace-Placeholders-Tokens/page.md): Learn to parameterize Kubernetes YAML manifests and inject environment-specific values using envsubst during CI/CD for consistent deployments across environments.
- [Job Create Secret and Deploy to K8S Dev Environment](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Job-Create-Secret-and-Deploy-to-K8S-Dev-Environment/page.md): This guide covers creating a Kubernetes Secret and deploying application manifests to the development namespace using GitLab CI/CD.
- [Job Fetch Ingress URL amp Integration testing](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Job-Fetch-Ingress-URL-amp-Integration-testing/page.md): This guide extends a GitLab CI pipeline by adding an integration testing job to verify service endpoints after deploying to Kubernetes.
- [Understand Gitlab Environments](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Understand-Gitlab-Environments/page.md): Environments in GitLab CI/CD provide isolated stages for development, testing, and production to enhance feature development and deployment safety.
- [Environment and Deployments](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Environment-and-Deployments/page.md): This guide explains how to configure and manage environments and deployments in GitLab CI/CD.
- [Connecting a Kubernetes cluster with GitLab via agentK](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Connecting-a-Kubernetes-cluster-with-GitLab-via-agentK/page.md): This guide explains how to use GitLab Kubernetes Agent for secure connectivity between Kubernetes clusters and GitLab, simplifying CI/CD processes.
- [Configure Gitlab Agent](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Configure-Gitlab-Agent/page.md): This guide reviews how to install and configure the GitLab Agent in your Kubernetes cluster for managing deployments and GitOps workflows.
- [Customize Agent Config and Staging Environment](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Customize-Agent-Config-and-Staging-Environment/page.md): This guide explains how to customize GitLab Kubernetes agent configuration, set up a staging environment, and scope CI/CD variables for efficient deployments.
- [Manually Promote to Staging Environment via agentK](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Continuous-Deployment-with-GitLab/Manually-Promote-to-Staging-Environment-via-agentK/page.md): This guide explains how to manually promote applications to the staging environment using GitLabs Kubernetes Agent.

### Optimization, Security and Monitoring

- [Optimize CICD configuration files](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Optimize-CICD-configuration-files/page.md): This article discusses optimizing GitLab CI/CD configuration files through modularization to enhance maintainability and scalability.
- [Extends Reuse Configuration NodeJS Jobs](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Extends-Reuse-Configuration-NodeJS-Jobs/page.md): Learn to reuse configuration in GitLab CI/CD pipelines using the extends keyword to eliminate duplication and streamline job definitions.
- [Anchors Reuse Configuration Deployment Jobs](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Anchors-Reuse-Configuration-Deployment-Jobs/page.md): Learn to use YAML anchors in GitLab CI/CD for reusable deployment job templates, reducing redundancy and simplifying pipeline maintenance.
- [Reference Tags Reuse Configuration Integration Testing](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Reference-Tags-Reuse-Configuration-Integration-Testing/page.md): This article explains how to use GitLab CI/CD reference tags and YAML anchors to share configuration snippets across multiple jobs.
- [Template and Types of Includes](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Template-and-Types-of-Includes/page.md): Learn to streamline GitLab CI/CD pipelines with reusable templates and includes to reduce YAML duplication and enhance project consistency.
- [Component Code Quality](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Component-Code-Quality/page.md): Optimize CI/CD workflows with GitLab’s Code Quality analysis to enhance source code quality by detecting issues and ensuring high-quality changes.
- [Template SAST](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Template-SAST/page.md): Static Application Security Testing integrates into GitLab CI/CD to identify code vulnerabilities early, supporting various languages and manifest types before deployment.
- [Component Secret Detection](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Component-Secret-Detection/page.md): This article explains how to configure Secret Detection in a GitLab CI/CD pipeline to scan for sensitive information.
- [Template Container Scanning](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Template-Container-Scanning/page.md): This article explains how to implement Container Scanning in GitLab CI/CD to identify vulnerabilities in Docker images.
- [Slack Channel Notifications](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Slack-Channel-Notifications/page.md): Integrating GitLab with Slack for receiving notifications and monitoring CI/CD pipelines within your messaging workspace.
- [ChatOps with Slack](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/ChatOps-with-Slack/page.md): This guide demonstrates integrating GitLab ChatOps into Slack for triggering CI/CD pipelines, managing issues, and reviewing job outputs.
- [Pipeline Monitoring with Prometheus and Grafana](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Pipeline-Monitoring-with-Prometheus-and-Grafana/page.md): This guide details a centralized monitoring solution for GitLab CI/CD pipelines using Prometheus and Grafana.
- [Adding a Pipeline status amp Code Coverage Badge](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Optimization-Security-and-Monitoring/Adding-a-Pipeline-status-amp-Code-Coverage-Badge/page.md): This article explains how to add pipeline status and code coverage badges in GitLab to display project metrics visually.

### Self-Managed Runners

- [Self Managed Runners](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Self-Managed-Runners/Self-Managed-Runners/page.md): This article explains self-managed runners in GitLab CI/CD, detailing their benefits, setup, installation, registration, and configuration.
- [Install Project Runner on Linux Machine with Shell Executor](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Self-Managed-Runners/Install-Project-Runner-on-Linux-Machine-with-Shell-Executor/page.md): This tutorial explains setting up a self-managed GitLab Runner on Linux using the Shell executor for a NodeJS application.
- [Run Jobs on the installed Shell Executor](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Self-Managed-Runners/Run-Jobs-on-the-installed-Shell-Executor/page.md): This guide explains configuring and optimizing a CI/CD pipeline on a self-hosted GitLab Runner using the Shell executor.
- [Install Group Runner on Linux Machine with Docker Executor](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Self-Managed-Runners/Install-Group-Runner-on-Linux-Machine-with-Docker-Executor/page.md): This guide explains how to install and configure a group-level GitLab runner on a Linux machine using Docker.
- [Use Local Template to Upload Reports to AWSMinio S3 Bucket](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Self-Managed-Runners/Use-Local-Template-to-Upload-Reports-to-AWSMinio-S3-Bucket/page.md): This guide explains how to configure a GitLab CI/CD job to upload test reports to an S3-compatible object store.

### Auto DevOps

- [What is Auto DevOps](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/What-is-Auto-DevOps/page.md): GitLab Auto DevOps is a CI/CD feature that automates pipeline generation, integrating best practices for build, test, and deployment stages.
- [Configuring AutoDevOps](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Configuring-AutoDevOps/page.md): Automate the CI/CD pipeline for your Node.js Solar System application using GitLab Auto DevOps for end-to-end detection, building, testing, and deployment.
- [Raise a Merge Request and Checkout AutoDevOps](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Raise-a-Merge-Request-and-Checkout-AutoDevOps/page.md): Learn to create a feature branch, submit a Merge Request in GitLab, and observe Auto DevOps pipeline stages for MR workflows.
- [Fixing Issues and Deploying to Review Environment](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Fixing-Issues-and-Deploying-to-Review-Environment/page.md): This guide resolves GitLab Auto DevOps review pipeline failures by configuring MongoDB secrets, adjusting Kubernetes probe ports, and performing deployment and cleanup procedures.
- [Automatic Deployment to Production Environment](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Automatic-Deployment-to-Production-Environment/page.md): This article explains how to automate application deployment to a production environment using GitLabs CI/CD pipelines.
- [Switch to ULTIMATE Tier](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Switch-to-ULTIMATE-Tier/page.md): This guide explains how to activate a 30-day GitLab Ultimate trial and explore its exclusive features.
- [Rollback Deployment](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/Rollback-Deployment/page.md): This guide explains how to use GitLabs rollback feature to revert to a previous successful deployment, ensuring minimal downtime and restoring stability.
- [AutoDevOps Customization](https://notes.kodekloud.com/docs/GitLab-CICD-Architecting-Deploying-and-Optimizing-Pipelines/Auto-DevOps/AutoDevOps-Customization/page.md): Learn to customize your GitLab Auto DevOps pipeline for a timed incremental rollout deployment strategy, enhancing your CI/CD process.
