Uploaded March 2026 | Updated September 2026, 2 weeks ago
Welcome to this comprehensive CI/CD course designed to take you from foundational concepts to production-grade implementations. Using Jenkins as the automation server, you will work through nine hands-on projects, culminating in a complex DevSecOps mega project.
Repo (Jenkins): github.com/CloudWithVarJosh/Jenkins-Basics-To-Production/tree/main
Repo (Maven): github.com/CloudWithVarJosh/Maven-For-DevOps/blob/main/README.md
Repo (SonarQube): github.com/CloudWithVarJosh/SonarQube-For-DevOps/blob/main/README.md
Course created by @CloudWithVarjosh
⭐️ Contents ⭐️
0:00:00 Course Introduction
0:07:35 Day 1: Modern SDLC Explained
0:09:18 SDLC Phases Explained (End-to-End View)
0:36:43 Compiled vs Interpreted Languages (CI/CD Perspective)
0:49:37 Build Workflows: Containerized vs Non-Containerized Apps
0:50:18 Compiled Languages: CI/CD Build Workflow
0:53:29 Interpreted Languages: CI/CD Build Workflow
0:56:52 Why Build Automation Tools Matter
0:58:50 Day 1 Wrap-Up
0:59:44 Day 2: CI/CD Concepts & Branching Strategies
1:01:08 Git & Branching Fundamentals for CI/CD
1:18:22 Continuous Practices Explained (CI, CT, CD, CDp, CM)
1:32:38 Branching Strategies: GitFlow vs Trunk-Based
1:39:27 GitFlow CI/CD: Feature → Development Promotion
1:47:08 GitFlow CI/CD: Development → Staging Promotion
1:50:48 *Demo*: Multi-Tag Images & Immutable Digests
1:56:44 GitFlow CI/CD: Staging Promotion (Continued)
2:10:34 GitFlow CI/CD: Stage → Production Promotion
2:18:18 Trunk-Based CI/CD: Environment Promotions
2:23:59 Jenkins in CI/CD: Why Jenkins and Where It Fits
2:25:49 Day 2 Wrap-Up
2:26:46 Day 3: Jenkins Basics & Installation
2:27:28 What Is Jenkins?
2:39:40 Jenkins Installation Options (Local to Enterprise)
2:48:06 *Lab*: Install, Configure & Run Jenkins using Docker
3:14:57 Jenkins Roles & Responsibilities
3:15:56 Day 3 Wrap-Up
3:16:49 Day 4: Jenkins Freestyle Jobs Deep Dive
3:17:46 Inside JENKINS_HOME (What to Back Up and Why)
3:23:51 Jenkins Controller vs Agents (Control Plane vs Data Plane)
3:35:25 Freestyle Jobs: 5 Practical Mini *Demo*s
4:07:26 Day 4 Wrap-Up
4:08:13 Day 5: CI/CD Project | Dockerized Flask App
4:08:47 Docker-outside-of-Docker (DooD) Explained
4:17:36 *Demo*: Configure DooD in Jenkins (Socket + CLI)
4:24:21 Project Overview: Build → Push → Deploy Flow
4:27:57 *Demo*: Build, Push & Deploy Flask App using Jenkins
4:56:56 Day 5 Wrap-Up
4:57:39 Day 6: Jenkins Pipelines (Build, Push, Deploy)
4:59:44 Pipeline Project Overview
5:01:57 Pipelines 101: Creating Your First Jenkins Pipeline
5:17:11 *Demo*: Production-Grade Jenkinsfile (End-to-End)
6:07:19 Day 6 Wrap-Up
6:08:08 Day 7: Transition to Multibranch Pipelines
6:09:09 Multibranch Pipelines: What and Why
6:24:16 Trunk-Based CI/CD with Multibranch Pipelines
6:46:47 *Demo*: Jenkins Multibranch Pipeline in Action
7:43:19 Day 7 Wrap-Up
7:44:08 Maven for DevOps: Introduction
7:45:29 Compiled vs Interpreted Languages (Build Tool Context)
7:52:17 Build Tools Overview: Why They Exist and How They Work
8:05:00 What Is Maven?
8:12:16 *Lab*: Install Java and Maven on Ubuntu
8:24:25 *Demo*: Maven Project Deep Dive (pom.xml, Lifecycles, Plugins)
9:35:37 *Demo*: Maven Build in Jenkins and Run as Docker Container
9:45:06 Maven Section Wrap-Up
9:45:58 SonarQube for DevOps: Introduction
9:51:23 DevSecOps Explained: Why It Matters
10:01:58 Key DevSecOps Concepts: SAST, DAST, SCA, SBOM
10:18:40 What Is SonarQube?
10:27:36 End-to-End DevSecOps Flow (Java + Maven)
10:50:59 *Lab*: Install and Configure SonarQube on EC2
11:12:17 SonarQube Architecture & UI Walkthrough
11:21:57 *Lab*: Jenkins Setup on EC2 with Maven & Docker
11:30:40 *Demo*: Integrating SonarQube with Jenkins Pipelines
12:13:26 SonarQube Section Wrap-Up
12:14:24 DevSecOps Mega Project
12:16:48 Mega Project Overview
12:26:16 *Lab*: Install and Configure Jenkins Controller (EC2)
12:41:36 *Lab*: Install Jenkins Agent (EC2)
12:48:12 Controller–Agent Communication Setup
13:16:56 *Lab*: Install and Configure SonarQube
13:35:58 End-to-End DevSecOps Pipeline Demo Begins
13:36:06 Stage 1: Git Checkout & Jenkinsfile Setup
13:51:29 Stage 2: Trivy Filesystem Scan
14:09:19 Stage 3: Build, SonarQube Analysis & Coverage
14:32:04 Stage 4: Authenticate Jenkins Agent to Amazon ECR
14:45:30 Stage 5: Build Container Image
14:58:59 Stage 6: Trivy Image Vulnerability Scan
15:04:03 Stage 7: Push Image to Amazon ECR
15:06:21 Stage 8 & 9: Cluster Setup and Application Deployment
15:52:40 Mega Project Wrap-Up
15:53:37 Jenkins Shared Libraries: Introduction
15:54:43 Why Jenkins Shared Libraries Matter
16:04:39 What Is a Jenkins Shared Library?
16:08:27 Shared Library Architecture & Directory Structure
16:19:08 *Lab*: Jenkins and Docker Setup for Shared Libraries
16:29:38 *Demo*: Creating and Using a Jenkins Shared Library
16:42:17 *Demo*: Private Git Repositories with Shared Libraries
17:31:14 Shared Libraries Wrap-Up
17:32:02 Course Conclusion
Welcome to this comprehensive CI/CD course designed to take you from foundational concepts to production-grade implementations. Using Jenkins as the automation server, you will work through nine hands-on projects, culminating in a complex DevSecOps mega project.
Repo (Jenkins): github.com/CloudWithVarJosh/Jenkins-Basics-To-Production/tree/main
Repo (Maven): github.com/CloudWithVarJosh/Maven-For-DevOps/blob/main/README.md
Repo (SonarQube): github.com/CloudWithVarJosh/SonarQube-For-DevOps/blob/main/README.md
Course created by @CloudWithVarjosh
⭐️ Contents ⭐️
0:00:00 Course Introduction
0:07:35 Day 1: Modern SDLC Explained
0:09:18 SDLC Phases Explained (End-to-End View)
0:36:43 Compiled vs Interpreted Languages (CI/CD Perspective)
0:49:37 Build Workflows: Containerized vs Non-Containerized Apps
0:50:18 Compiled Languages: CI/CD Build Workflow
0:53:29 Interpreted Languages: CI/CD Build Workflow
0:56:52 Why Build Automation Tools Matter
0:58:50 Day 1 Wrap-Up
0:59:44 Day 2: CI/CD Concepts & Branching Strategies
1:01:08 Git & Branching Fundamentals for CI/CD
1:18:22 Continuous Practices Explained (CI, CT, CD, CDp, CM)
1:32:38 Branching Strategies: GitFlow vs Trunk-Based
1:39:27 GitFlow CI/CD: Feature → Development Promotion
1:47:08 GitFlow CI/CD: Development → Staging Promotion
1:50:48 *Demo*: Multi-Tag Images & Immutable Digests
1:56:44 GitFlow CI/CD: Staging Promotion (Continued)
2:10:34 GitFlow CI/CD: Stage → Production Promotion
2:18:18 Trunk-Based CI/CD: Environment Promotions
2:23:59 Jenkins in CI/CD: Why Jenkins and Where It Fits
2:25:49 Day 2 Wrap-Up
2:26:46 Day 3: Jenkins Basics & Installation
2:27:28 What Is Jenkins?
2:39:40 Jenkins Installation Options (Local to Enterprise)
2:48:06 *Lab*: Install, Configure & Run Jenkins using Docker
3:14:57 Jenkins Roles & Responsibilities
3:15:56 Day 3 Wrap-Up
3:16:49 Day 4: Jenkins Freestyle Jobs Deep Dive
3:17:46 Inside JENKINS_HOME (What to Back Up and Why)
3:23:51 Jenkins Controller vs Agents (Control Plane vs Data Plane)
3:35:25 Freestyle Jobs: 5 Practical Mini *Demo*s
4:07:26 Day 4 Wrap-Up
4:08:13 Day 5: CI/CD Project | Dockerized Flask App
4:08:47 Docker-outside-of-Docker (DooD) Explained
4:17:36 *Demo*: Configure DooD in Jenkins (Socket + CLI)
4:24:21 Project Overview: Build → Push → Deploy Flow
4:27:57 *Demo*: Build, Push & Deploy Flask App using Jenkins
4:56:56 Day 5 Wrap-Up
4:57:39 Day 6: Jenkins Pipelines (Build, Push, Deploy)
4:59:44 Pipeline Project Overview
5:01:57 Pipelines 101: Creating Your First Jenkins Pipeline
5:17:11 *Demo*: Production-Grade Jenkinsfile (End-to-End)
6:07:19 Day 6 Wrap-Up
6:08:08 Day 7: Transition to Multibranch Pipelines
6:09:09 Multibranch Pipelines: What and Why
6:24:16 Trunk-Based CI/CD with Multibranch Pipelines
6:46:47 *Demo*: Jenkins Multibranch Pipeline in Action
7:43:19 Day 7 Wrap-Up
7:44:08 Maven for DevOps: Introduction
7:45:29 Compiled vs Interpreted Languages (Build Tool Context)
7:52:17 Build Tools Overview: Why They Exist and How They Work
8:05:00 What Is Maven?
8:12:16 *Lab*: Install Java and Maven on Ubuntu
8:24:25 *Demo*: Maven Project Deep Dive (pom.xml, Lifecycles, Plugins)
9:35:37 *Demo*: Maven Build in Jenkins and Run as Docker Container
9:45:06 Maven Section Wrap-Up
9:45:58 SonarQube for DevOps: Introduction
9:51:23 DevSecOps Explained: Why It Matters
10:01:58 Key DevSecOps Concepts: SAST, DAST, SCA, SBOM
10:18:40 What Is SonarQube?
10:27:36 End-to-End DevSecOps Flow (Java + Maven)
10:50:59 *Lab*: Install and Configure SonarQube on EC2
11:12:17 SonarQube Architecture & UI Walkthrough
11:21:57 *Lab*: Jenkins Setup on EC2 with Maven & Docker
11:30:40 *Demo*: Integrating SonarQube with Jenkins Pipelines
12:13:26 SonarQube Section Wrap-Up
12:14:24 DevSecOps Mega Project
12:16:48 Mega Project Overview
12:26:16 *Lab*: Install and Configure Jenkins Controller (EC2)
12:41:36 *Lab*: Install Jenkins Agent (EC2)
12:48:12 Controller–Agent Communication Setup
13:16:56 *Lab*: Install and Configure SonarQube
13:35:58 End-to-End DevSecOps Pipeline Demo Begins
13:36:06 Stage 1: Git Checkout & Jenkinsfile Setup
13:51:29 Stage 2: Trivy Filesystem Scan
14:09:19 Stage 3: Build, SonarQube Analysis & Coverage
14:32:04 Stage 4: Authenticate Jenkins Agent to Amazon ECR
14:45:30 Stage 5: Build Container Image
14:58:59 Stage 6: Trivy Image Vulnerability Scan
15:04:03 Stage 7: Push Image to Amazon ECR
15:06:21 Stage 8 & 9: Cluster Setup and Application Deployment
15:52:40 Mega Project Wrap-Up
15:53:37 Jenkins Shared Libraries: Introduction
15:54:43 Why Jenkins Shared Libraries Matter
16:04:39 What Is a Jenkins Shared Library?
16:08:27 Shared Library Architecture & Directory Structure
16:19:08 *Lab*: Jenkins and Docker Setup for Shared Libraries
16:29:38 *Demo*: Creating and Using a Jenkins Shared Library
16:42:17 *Demo*: Private Git Repositories with Shared Libraries
17:31:14 Shared Libraries Wrap-Up
17:32:02 Course Conclusion
![The world still needs people who care - CodePen founder Chris Coyier interview [Podcast #212]
Today Quincy Larson interviews Chris Coyier. Hes a front-end developer and co-founder of CodePen and the CSS Tricks blog. He has also recorded more than 700 podcasts about software engineering.
We talk about:
- How he thinks front-end development tools are 90% of the way to where they need to be
- How developing for the web is just as good as mobile, and you can reuse it everywhere.
- And why high skilled devs working on novel problems dont need to worry about AI disrupting their careers
Support for this podcast comes from the 10,113 kind folks who donate to our charity each month. Join them and support our mission at https://donate.freecodecamp.org
Get a freeCodeCamp tshirt for $20 with free shipping anywhere in the US: https://shop.freecodecamp.org
Links from our discussion:
- Chriss personal site: https://chriscoyier.net/
- CodePen: https://codepen.io/chriscoyier
- ShopTalk Podcast: https://shoptalkshow.com/
- Bluesky: https://bsky.app/profile/chriscoyier.net
- Mastodon: https://front-end.social/@chriscoyier
Community news section:
1. freeCodeCamp just published a comprehensive DevOps course that will teach you how to deploy your apps to production safely. Youll build your own CI/CD (Continuous Integration / Continuous Delivery) pipeline. Along the way youll learn about branching strategies, Jenkins Freestyle Jobs, GitFlow, Maven, and more. This is a perfect way to build your skills over spring break. (17 hour YouTube course): https://www.freecodecamp.org/news/ci-cd-in-production-with-jenkins/
2. Learn how to fine-tune an LLM to incorporate your own proprietary data. This is super useful if you need off-the-shelf LLMs to do novel tasks that they werent originally optimized for. This course will teach you all about Parameter-Efficient Fine-Tuning, and how to use techniques like LoRA and QLoRA to train models on consumer-grade hardware. No data center needed. (12 hour YouTube course): https://www.freecodecamp.org/news/learn-how-to-fine-tune-llms-in-12-hours/
3. Learn how to protect your sensitive data by running your LLMs locally. This quick tutorial will show you how to get up and running with Ollama, Python, LangChain, and LangGraph. It will also walk you through the various trade-offs you face when you avoid sharing your data with big tech companies. (15 minute read): https://www.freecodecamp.org/news/protect-sensitive-data-with-local-llms/
4. Learn how agents are changing the field of software development. This in-depth tutorial will get you hands-on experience with building your own Flutter mobile app using Antigravity and Stitch. You dont even need to know Flutter. You just need to understand the core concepts and make the architectural decisions. Youll quickly see how sophisticated these tools have gotten over the past few months. (40 minute read): https://www.freecodecamp.org/news/learn-how-ai-agents-are-changing-development-by-building-a-flutter-app/
5. Todays album of the week is 1982 jazz fusion classic Mint Jams by Casiopea. This is the perfect record to put on when you want to get a ton of work done, and feel great in the process. For every song, each of the performers gets a solo. That means every track youre going to hear a spicy bass solo, keyboard solo, drum solo, and guitar solo. Love it. https://www.youtube.com/watch?v=6GEI3PpXEAo
Intro & Updates
- 00:00:00 Chris Coyier Intro
- 00:00:23 CI/CD Pipeline Course
- 00:00:56 Local LLM Fine-Tuning
- 00:02:04 AI Flutter Tutorial
- 00:02:40 Album: Mint Jams (1982)
- 00:03:06 Support Free Code Camp
Front-End & AI
- 00:03:38 Chris’s Podcast History
- 00:05:08 Is CSS still worth learning?
- 00:07:12 Full-stack convergence
- 00:08:17 Market disruption & God Tier skills
- 00:10:08 AI vs. Unique Design Art
- 00:13:51 New standards: Transitions & Anchors
- 00:16:30 Is the front-end toolbox finished?
- 00:19:56 The CSS :has selector
- 00:21:16 Web tech for native apps
CodePen’s Evolution
- 00:24:06 Simplicity & the 3 boxes
- 00:25:06 Origins: ZIP files to browser-editing
- 00:27:33 Power of CodePen Embeds
- 00:30:35 Tech debt & modern frameworks
- 00:33:41 CodePen 2.0 Architecture
- 00:35:12 Culture of Stability
Careers & Lifestyle
- 00:37:31 FCC v10 & demographics
- 00:39:58 Abridging curricula for AI
- 00:41:21 Logical Properties vs. Legacy CSS
- 00:43:58 Specializing on the job
- 00:45:15 Why humans are better than AI for responsibility
- 00:48:02 Living in Bend, Oregon
- 00:51:39 Wufoo to SurveyMonkey
- 00:54:25 Blogging: CSS-Tricks & IE6
- 00:56:41 SEO & Community Feedback
- 00:59:34 Ad revenue disruption
- 01:06:01 Blogging for clear thinking
- 01:09:10 Knowledge via articulation
- 01:15:13 CS enrollment trends
- 01:16:32 Closing: Why caring matters The world still needs people who care - CodePen founder Chris Coyier interview [Podcast #212]](https://i.ytimg.com/vi/uJrh9GHrC38/mqdefault.jpg)









![Open Source is Changing. Quincy interviews Jerod Santo, host of The Changelog [Podcast #125]
Open Source is Changing. Quincy interviews Jerod Santo, host of The Changelog [Podcast #125] Open Source is Changing. Quincy interviews Jerod Santo, host of The Changelog [Podcast #125]](https://i.ytimg.com/vi/vfcqsP99U90/mqdefault.jpg)