# KodeKloud: Beta Courses Advanced Jenkins

## Advanced Jenkins

### Shared Libraries in Jenkins

- [Demo Refactor existing Jenkinsfile](https://notes.kodekloud.com/docs/Advanced-Jenkins/Shared-Libraries-in-Jenkins/Demo-Refactor-existing-Jenkinsfile/page.md): Refactoring a Jenkinsfile to create reusable CI pipelines with Slack notifications, integrated Trivy scanning and in-stage report publishing while disabling long running deployment stages for demo use
- [Introduction to Shared Libraries](https://notes.kodekloud.com/docs/Advanced-Jenkins/Shared-Libraries-in-Jenkins/Introduction-to-Shared-Libraries/page.md): Explains Jenkins shared libraries and how to create, configure, and use reusable Groovy pipeline steps to centralize logic, reduce duplication, and simplify Jenkinsfile maintenance.
- [Create a Shared Library for Slack Notification](https://notes.kodekloud.com/docs/Advanced-Jenkins/Shared-Libraries-in-Jenkins/Create-a-Shared-Library-for-Slack-Notification/page.md): How to create a Jenkins Shared Library to centralize and reuse Slack notification logic across pipelines for consistent, maintainable notifications.
- [Configure Shared Library in Jenkins](https://notes.kodekloud.com/docs/Advanced-Jenkins/Shared-Libraries-in-Jenkins/Configure-Shared-Library-in-Jenkins/page.md): How to register and configure Jenkins Global Pipeline Shared Libraries, trust models, sandbox implications, usage in Pipelines, and examples for steps, dependencies and security
- [Loading the Shared Library in Pipeline](https://notes.kodekloud.com/docs/Advanced-Jenkins/Shared-Libraries-in-Jenkins/Loading-the-Shared-Library-in-Pipeline/page.md): Guide for importing, using, and verifying a globally configured Jenkins shared library in a Jenkinsfile including reusable steps and runtime verification via console logs and Slack notifications.
- [Create Shared Library for Trivy Scan](https://notes.kodekloud.com/docs/Advanced-Jenkins/Shared-Libraries-in-Jenkins/Create-Shared-Library-for-Trivy-Scan/page.md): Creating a Jenkins shared library that runs Trivy image scans and converts JSON results into HTML reports for reuse across pipelines
- [Load TrivyScan Library in Jenkins Pipeline](https://notes.kodekloud.com/docs/Advanced-Jenkins/Shared-Libraries-in-Jenkins/Load-TrivyScan-Library-in-Jenkins-Pipeline/page.md): Explains loading and using a TrivyScan Jenkins shared library in Declarative Pipelines to scan Docker images and publish Trivy JSON HTML and JUnit reports
- [WhatWhyCreate LibraryResource](https://notes.kodekloud.com/docs/Advanced-Jenkins/Shared-Libraries-in-Jenkins/WhatWhyCreate-LibraryResource/page.md): Explains using Jenkins Shared Library libraryResource to load a parameterized Trivy shell script, write and execute it from pipelines via a loader and Groovy wrapper.

### Agents and Nodes in Jenkins

- [Types of Agents](https://notes.kodekloud.com/docs/Advanced-Jenkins/Agents-and-Nodes-in-Jenkins/Types-of-Agents/page.md): Overview of Jenkins agent types, their uses, and Declarative Pipeline agent declarations with examples and best practices for choosing between permanent, Docker, cloud, and label-based agents.
- [Create and Configure Node](https://notes.kodekloud.com/docs/Advanced-Jenkins/Agents-and-Nodes-in-Jenkins/Create-and-Configure-Node/page.md): Guide to creating and connecting a permanent Jenkins agent on an Ubuntu VM, including UI setup, running the agent jar, security settings, troubleshooting, and monitoring.
- [Utilize Agents in Jobs](https://notes.kodekloud.com/docs/Advanced-Jenkins/Agents-and-Nodes-in-Jenkins/Utilize-Agents-in-Jobs/page.md): How to bind Jenkins jobs and pipeline stages to specific agents using node labels, demonstrating Freestyle job restrictions and Declarative pipeline global agent with stage-level overrides.
- [Utilize Docker Image Agent](https://notes.kodekloud.com/docs/Advanced-Jenkins/Agents-and-Nodes-in-Jenkins/Utilize-Docker-Image-Agent/page.md): Using Docker images to run Jenkins Declarative Pipeline stages in containers, providing isolated, reproducible build environments and configuration options for image, args, labels, and registry credentials
- [Utilize Dockerfile Agent](https://notes.kodekloud.com/docs/Advanced-Jenkins/Agents-and-Nodes-in-Jenkins/Utilize-Dockerfile-Agent/page.md): Explains using Jenkins dockerfile agent to build a custom Docker image that installs missing CLI tools such as cowsay so pipeline stages run correctly inside a container
- [Utilize newContainerPerStage](https://notes.kodekloud.com/docs/Advanced-Jenkins/Agents-and-Nodes-in-Jenkins/Utilize-newContainerPerStage/page.md): Explains Jenkins Pipeline option newContainerPerStage to run a fresh Docker container per stage versus reusing a single container, showing impacts on filesystem sharing and isolation.
- [Configure cloud instances Kubernetes](https://notes.kodekloud.com/docs/Advanced-Jenkins/Agents-and-Nodes-in-Jenkins/Configure-cloud-instances-Kubernetes/page.md): Guide to configure Jenkins Kubernetes cloud for dynamic agent pods, covering plugin installation, least privilege credentials, RBAC, pod templates, connection options, testing, and troubleshooting.
- [Utilize Kubernetes Pod as Agent](https://notes.kodekloud.com/docs/Advanced-Jenkins/Agents-and-Nodes-in-Jenkins/Utilize-Kubernetes-Pod-as-Agent/page.md): Using Kubernetes pods as ephemeral Jenkins Pipeline build agents, with inline YAML or pod templates, multi container examples, pod selection, inspection, retention, and best practices

### Pipeline Enhancement and Caching

- [Sharing a File between Containers](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Enhancement-and-Caching/Sharing-a-File-between-Containers/page.md): Demonstrates sharing a file between two containers in the same Kubernetes Pod using a Jenkins pipeline and shared workspace (emptyDir), showing creation in Ubuntu and reading in Node
- [Refactoring Solar System Pipeline](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Enhancement-and-Caching/Refactoring-Solar-System-Pipeline/page.md): Guide to refactor a Jenkins pipeline to run Node.js stages inside a Kubernetes pod using a repository pod spec and keep controller for non-containerized tasks
- [Refactoring Unit Test Stage](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Enhancement-and-Caching/Refactoring-Unit-Test-Stage/page.md): Explains running parallel Node.js version unit tests in Jenkins, diagnosing missing dependencies across different agents and fixing by installing per stage or using stash/unstash.
- [Sequential Stages](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Enhancement-and-Caching/Sequential-Stages/page.md): Explains nested sequential stages in Jenkins Declarative Pipelines to run ordered steps inside parallel branches, improving visibility and offering troubleshooting and best practices for Node npm issues
- [Stash and Unstash](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Enhancement-and-Caching/Stash-and-Unstash/page.md): Explains using Jenkins stash and unstash to transfer and cache files between pipeline stages, enabling reuse of build artifacts and dependencies within a single pipeline run.
- [Pipeline Caching](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Enhancement-and-Caching/Pipeline-Caching/page.md): Guide to using Jenkins Job Cacher plugin to cache node_modules via lockfile-driven caching, speeding CI builds, reducing bandwidth, and sharing dependencies across pipeline stages
- [Invalidate Cache](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Enhancement-and-Caching/Invalidate-Cache/page.md): Explains using the Jenkins Job Cacher plugin with package-lock.json to invalidate and refresh dependency caches, keeping builds fast and preventing stale node_modules.

### Pipeline Structure and Scripted vs Declarative

- [Declarative vs Scripted Pipeline](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Structure-and-Scripted-vs-Declarative/Declarative-vs-Scripted-Pipeline/page.md): Explains differences between Declarative and Scripted Jenkins pipelines, their Jenkinsfile usage, syntax tradeoffs, and when to use each for CI/CD workflows.
- [Demo Declarative vs Scripted Pipeline](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Structure-and-Scripted-vs-Declarative/Demo-Declarative-vs-Scripted-Pipeline/page.md): Demo comparing Declarative and Scripted Jenkins pipelines, showing automatic SCM checkout, post versus finally cleanup, stage restart support, and required explicit checkout in scripted pipelines.
- [Scripted Pipeline Initialize](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Structure-and-Scripted-vs-Declarative/Scripted-Pipeline-Initialize/page.md): Guide to converting a Declarative Jenkins pipeline to a Scripted pipeline, showing NodeJS tool resolution, properties conversion, timestamper wrapper, and caching for installing dependencies
- [Scripted Pipeline Static Agent](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Structure-and-Scripted-vs-Declarative/Scripted-Pipeline-Static-Agent/page.md): Concise scripted Jenkins pipeline running entirely on a specified static agent, demonstrating checkout, Node.js tool usage, dependency install, and credentialed unit testing with MongoDB
- [Scripted Pipeline K8S Agent](https://notes.kodekloud.com/docs/Advanced-Jenkins/Pipeline-Structure-and-Scripted-vs-Declarative/Scripted-Pipeline-K8S-Agent/page.md): Guide to running scripted Jenkins Pipeline stages inside Kubernetes pods using podTemplate and containerTemplate, sharing files with stash/unstash, and mixing static agents with ephemeral pod agents

### Jenkins Administration and Monitoring

- [Jenkins Supervision](https://notes.kodekloud.com/docs/Advanced-Jenkins/Jenkins-Administration-and-Monitoring/Jenkins-Supervision/page.md): Guide to supervising Jenkins using centralized logs, performance monitoring, and auditing to maintain CI CD pipeline reliability, capacity, and secure configuration change tracking
- [Monitoring with Prometheus Grafana](https://notes.kodekloud.com/docs/Advanced-Jenkins/Jenkins-Administration-and-Monitoring/Monitoring-with-Prometheus-Grafana/page.md): Guides installing Jenkins Prometheus plugin, exposing /prometheus metrics, configuring Prometheus and Grafana via Docker Compose, importing dashboards and validating Jenkins monitoring and metrics visualization.
- [Log Recorder](https://notes.kodekloud.com/docs/Advanced-Jenkins/Jenkins-Administration-and-Monitoring/Log-Recorder/page.md): Explains how to configure Jenkins log recorders and other methods to enable temporary verbose logging for troubleshooting plugins, Kubernetes, and persistent setups while warning about performance impact
- [Install and Configure Audit Trail](https://notes.kodekloud.com/docs/Advanced-Jenkins/Jenkins-Administration-and-Monitoring/Install-and-Configure-Audit-Trail/page.md): How to install and configure Jenkins Audit Trail plugin to record administrative and job actions, logging to files, syslog, or Elasticsearch with rotation and verification steps
- [Forward Audit Logs to External Server](https://notes.kodekloud.com/docs/Advanced-Jenkins/Jenkins-Administration-and-Monitoring/Forward-Audit-Logs-to-External-Server/page.md): How to forward Jenkins Audit Trail log files from a controller to Elastic Cloud using Elastic Agent, configure elastic-agent.yml, restart agent, and verify logs in Kibana
- [Migrating Jenkins to Another Node](https://notes.kodekloud.com/docs/Advanced-Jenkins/Jenkins-Administration-and-Monitoring/Migrating-Jenkins-to-Another-Node/page.md): Step-by-step guide to migrate a self-managed Jenkins controller between VMs by archiving and restoring JENKINS_HOME, preserving jobs plugins credentials and configurations.

### Backup and Configuration Management

- [Github Actions Basics](https://notes.kodekloud.com/docs/Advanced-Jenkins/Backup-and-Configuration-Management/Github-Actions-Basics/page.md): Introduction to GitHub Actions explaining workflows, jobs, steps, runners, matrix strategies, and hosted versus self hosted runners for CI/CD and repository automation
- [Migrating Jenkins Pipeline to GitHub Action](https://notes.kodekloud.com/docs/Advanced-Jenkins/Backup-and-Configuration-Management/Migrating-Jenkins-Pipeline-to-GitHub-Action/page.md): Guide to migrating declarative Jenkins pipelines and many freestyle jobs to GitHub Actions using the gh-actions-importer, covering installation, authentication, dry-run conversions, PR creation, and workflow adjustments.
- [Backing upRestoring Jenkins](https://notes.kodekloud.com/docs/Advanced-Jenkins/Backup-and-Configuration-Management/Backing-upRestoring-Jenkins/page.md): Guide to backing up and restoring Jenkins, covering what to include, snapshot and plugin methods, practical commands, security considerations, and restore best practices.
- [Backing upRestoring Jenkins Demo](https://notes.kodekloud.com/docs/Advanced-Jenkins/Backup-and-Configuration-Management/Backing-upRestoring-Jenkins-Demo/page.md): Guide to using the ThinBackup Jenkins plugin to configure, schedule, inspect, and restore Jenkins configuration, jobs, and optional build artifacts.
- [Jenkins Configuration as Code JCasC](https://notes.kodekloud.com/docs/Advanced-Jenkins/Backup-and-Configuration-Management/Jenkins-Configuration-as-Code-JCasC/page.md): Guide to Jenkins Configuration as Code using YAML to manage controllers reproducibly with version control, plugin mappings, secrets guidance, setup steps, and best practices.
- [Configure and Explore JCasC](https://notes.kodekloud.com/docs/Advanced-Jenkins/Backup-and-Configuration-Management/Configure-and-Explore-JCasC/page.md): Guide to Jenkins Configuration as Code plugin, exporting and managing Jenkins configuration via declarative YAML for reproducible, version controlled setups, including installation, locations, validation, and best practices.
- [Use JCasC create jobs](https://notes.kodekloud.com/docs/Advanced-Jenkins/Backup-and-Configuration-Management/Use-JCasC-create-jobs/page.md): Guide to using Jenkins Configuration as Code to declaratively create pipeline jobs, configure tools like Node.js, handle Job DSL dependency, apply YAML and verify created jobs and tools
- [Pipeline Durability](https://notes.kodekloud.com/docs/Advanced-Jenkins/Backup-and-Configuration-Management/Pipeline-Durability/page.md): Explains Jenkins Pipeline durability modes, trade-offs between resumability and performance, configuration scopes, and recommendations for choosing maximum survivability or performance optimized

### Introduction

- [Course Introduction](https://notes.kodekloud.com/docs/Advanced-Jenkins/Introduction/Course-Introduction/page.md): Advanced Jenkins course teaching reusable pipelines, scalable agents, pipeline optimization, observability, configuration as code, backups, and hands on labs for production ready CI/CD
