Continuous Integration and Delivery with Jenkins is a course in building CI/CD as Pipeline as Code with Jenkinsfiles, from Docker and securely running Jenkins to multibranch pipelines with GitHub, code quality checks and blue/green deployment to servers and the cloud. It suits software developers and DevOps engineers who are comfortable with Git and Linux.
Software teams that still build, test and deploy by hand keep hitting the same problems: code that works on one machine but breaks on another, slow and risky releases, and long hunts for the change that broke the system. Jenkins is an open-source CI/CD server used by many organisations, yet many of them still configure freestyle jobs through the web interface, which makes changes hard to track, hard to repeat and hard to maintain as the number of projects grows.
This new edition focuses on Pipeline as Code with the current Jenkins LTS. It takes learners from CI/CD concepts and Docker to installing and securing Jenkins, writing declarative Jenkinsfiles, building multibranch pipelines with GitHub, using agents and Docker agents, building and testing with reports, creating and pushing Docker images, setting quality gates and security scans, moving shared steps into shared libraries, deploying with blue/green strategies, managing Jenkins with Configuration as Code, and deploying Python and Java projects to servers and the cloud. (5 days, 6 hours per day, 30 hours in total, Intermediate level.)
What you’ll gain
Understand continuous integration, continuous delivery and continuous deployment
Containerise applications with Docker and manage images in a registry
Install, configure and secure Jenkins LTS
Write Pipeline as Code with declarative Jenkinsfiles and build multibranch pipelines with GitHub
Use agents and Docker agents to build and test, keeping reports and artifacts
Set quality gates, scan for vulnerabilities and handle credentials safely
Build shared libraries and manage Jenkins with Configuration as Code
Deploy applications automatically with blue/green strategies to servers and the cloud
Who this course is for
Software developers who want to automate build, test and deployment
DevOps engineers and system administrators who run an organisation's Jenkins
Team leads and QA staff who want a reliable software release process
Teachers, lecturers and students interested in CI/CD
Prerequisites
A basic understanding of programming and the software development process
Comfortable with Git, such as commit, branch, push and pull
Basic Linux command-line skills
A GitHub account and the ability to install Docker Desktop, plus your own AWS account for the AWS lab
Curriculum
Course Details
This course is the 2026 edition of Continuous Integration and Delivery with Jenkins, rewritten around Pipeline as Code on the current Jenkins LTS. It runs for 5 days, 6 hours per day (30 hours in total, 09:00-16:00), as lectures alternating with labs and workshops throughout. Intermediate level. It suits developers and DevOps engineers who are comfortable with Git and Linux. Learners install and secure Jenkins, write declarative Jenkinsfiles, build multibranch pipelines with GitHub, use Docker agents, build and scan Docker images, set quality gates, create shared libraries and Configuration as Code, and deploy blue/green to servers and AWS. They take home sample Jenkinsfiles and configuration files.
Day 1CI/CD, Git and Docker
Section 1: CI/CD and DevOps Concepts
Continuous integration, continuous delivery and continuous deployment, and how they differ
How CI/CD improves release speed and stability
Pipeline stages: checkout, build, test, scan, package and deploy
An overview of CI/CD tools and where Jenkins fits
Examples of CI/CD in organisations
Section 2: Lab: Git Workflow for CI
Trunk-based and feature-branch strategies
Pull requests, code review and status checks
Tags and semantic versioning for releases
Set up a GitHub repository with branch protection
Lab: prepare the sample app repository used throughout the course
Section 3: Lab: Docker for CI/CD
Images, containers, layers and registries
Write good Dockerfiles: multi-stage builds, .dockerignore and non-root users
Manage containers, volumes and networks
Run several services with Docker Compose
Lab: run the app and its database with Docker Compose
Section 4: Lab: Dockerising Applications
Containerise a Python app and a Java app built with Maven
Name and tag images with the Git commit and version number
Push images to Docker Hub or GitHub Container Registry
Shrink images and choose secure base images
Lab: build, tag and push the sample app image by hand before automating it
Day 2Installing Jenkins and Pipeline as Code
Section 5: Lab: Installing Jenkins LTS
Jenkins architecture: controller, agents, executors and plugins
Install Jenkins LTS on Docker with a data volume, and the Java 21 or 25 requirement
The setup wizard, the first admin user and suggested plugins
Tour the Jenkins interface and Pipeline Graph View
Lab: get Jenkins running for the rest of the course
Section 6: Lab: Administering and Securing Jenkins
Manage and update plugins and review security warnings
Users, groups and matrix or role-based authorisation
Store passwords, tokens and SSH keys in Jenkins credentials
Keep builds off the controller and apply key security settings
Lab: create role-based users and test their permissions
Section 7: Lab: Your First Declarative Jenkinsfile
Freestyle jobs versus Pipeline as Code, and why pipelines belong in Git
The pipeline, agent, stages, steps and post structure
Pipeline jobs using Pipeline script from SCM
Use the Snippet Generator and Replay to write and experiment
Lab: a first pipeline that checks out, builds and tests the sample app
Section 8: Lab: Declarative Pipeline in Depth
environment, parameters and options such as timeout and retry
when conditions based on branch, tag and parameters
parallel and matrix stages to test several environments
Approval steps with input before deployment
Lab: a pipeline that tests in parallel and waits for approval before production
Day 3Multibranch, Agents and Docker Pipelines
Section 9: Lab: Multibranch Pipelines with GitHub
Create a multibranch pipeline that discovers branches and pull requests
Connect GitHub with credentials and set a webhook to build on every push
Report build status back to the pull request
Behave differently for the main branch, feature branches and pull requests
Lab: open a pull request and watch the pipeline run and report
Section 10: Lab: Agents and Docker Agents
Add agents over SSH or as inbound agents and assign labels
Install Docker on a Jenkins agent and connect it to the controller
Use agent { docker } so each stage runs in its own container
Dependency and workspace caching for faster builds
Lab: use different containers for the Java and Python builds
Section 11: Lab: Build, Test and Report
Build with Maven and pip and run unit tests
Publish JUnit reports and show test trends
Measure code coverage and show it in Jenkins
archiveArtifacts, stash and unstash between stages
Lab: fail the pipeline on failing tests and report the cause clearly
Section 12: Lab: Building and Pushing Docker Images in a Pipeline
Build images in the pipeline and tag them with the Git commit
Log in to the registry with withCredentials without leaking passwords to the log
Push images to Docker Hub or GitHub Container Registry
Scan images with Trivy and fail the pipeline above a threshold
Lab: a pipeline that builds, scans and pushes images automatically
Day 4Quality, Security and Deployment
Section 13: Lab: Quality Gates and Pipeline Security
Analyse code with SonarQube and wait for the quality gate in the pipeline
Check dependencies for vulnerabilities and outdated libraries
Least privilege for credentials and agents
Protect against untrusted code from external pull requests
Lab: stop the pipeline when code quality misses the threshold
Section 14: Lab: Shared Libraries
Why reusable steps should leave the Jenkinsfile
Shared library structure: vars, src and resources
Write custom steps and pipeline templates for many projects
Version a library and load it with @Library
Lab: move the build-and-push steps into a shared library
Section 15: Lab: Deployment Strategies
Deploy to servers over SSH with Docker Compose
Separate dev, staging and production with approvals
Blue/green deployment and switching traffic
Post-deployment health checks and automatic rollback
Lab: deploy blue/green and practise a rollback
Section 16: Workshop: Deploying a Python Project
Plan a pipeline for a containerised Python app
Test with pytest, build the image and scan it
Deploy the container to a server acting as a Jenkins agent
Workshop: an end-to-end pipeline from code push to a running app
Day 5Cloud, Configuration as Code and Capstone
Section 17: Workshop: Deploying a Java Project to AWS
Overview of deploying a Java project built with Maven
Prepare EC2 and a least-privilege IAM user in the learner's AWS account
Store AWS keys safely in Jenkins credentials
A pipeline that builds, tests, creates an image and deploys to EC2 automatically
Shut down and remove resources afterwards to control costs
Section 18: Lab: Jenkins Configuration as Code
Configure Jenkins from YAML with the Configuration as Code plugin
Install plugins and create seed jobs automatically
Run Jenkins with Docker Compose so it can be rebuilt at any time
Backup, restore and safe Jenkins LTS upgrades
Lab: rebuild a whole Jenkins instance from files in Git
Section 19: Lab: Monitoring and Troubleshooting Pipelines
Read console logs and Pipeline Graph View to find failures
Common problems: Docker permissions, full workspaces and wrong credentials
Collect metrics with the Prometheus plugin and show them in Grafana
Notify build results by email or team chat
Lab: fix a pipeline prepared with several faults
Section 20: Workshop: An End-to-End CI/CD Capstone
Design a pipeline for your own or a sample app from pull request to production
Use a shared library and Configuration as Code so it is repeatable
Present your work, review best practices and plan adoption in your organisation
Schedule & training options
For individuals — public rounds
No public rounds are open right now. Join the waiting list and we will contact you first when the next round opens, or ask us on LINE. Or call 02-570-8449 or 088-807-9770
How do continuous integration and continuous delivery differ?
Continuous integration (CI) means merging everyone's code into the main branch often, with every push triggering an automatic build and test run so mistakes are caught early. Continuous delivery (CD) builds on CI by keeping tested code always ready to deploy, with deployment at the press of an approval. Removing the approval and deploying to production automatically is called continuous deployment. In Jenkins all of these steps are written in a Jenkinsfile kept in Git.
What are Pipeline as Code and the Jenkinsfile, and why are they better than freestyle jobs?
Pipeline as Code means writing the whole CI/CD process as a file called a Jenkinsfile and keeping it in the same repository as the code, instead of configuring freestyle jobs field by field in the web interface. Every change goes through code review and has a history, each branch and pull request gets its own pipeline through multibranch pipelines, Jenkins can be rebuilt or moved easily, and repeated steps can move into a shared library. This course uses declarative Jenkinsfiles throughout.
What are the steps to build a Docker image in a Jenkins pipeline and deploy it?
Start by installing Docker on a Jenkins agent and storing the registry password in Jenkins credentials. Then write a declarative Jenkinsfile with stages for checkout, testing in a container, building the image tagged with the Git commit, scanning for vulnerabilities, pushing to the registry through withCredentials and deploying the image to the target server. Finally, create a multibranch pipeline pointing at the repository and set a webhook so it runs on every push.
What is blue/green deployment and how does it reduce risk?
Blue/green deployment uses two identical environments. Blue runs the current version that users rely on, while the new version is installed and tested on green. When it is ready, the load balancer or reverse proxy switches all traffic to green, so users see almost no downtime, and if health checks find a problem you can switch straight back to blue. The catch is that the database must work with both versions.
Who is the Continuous Integration and Delivery with Jenkins course for, and what should I know beforehand?
It suits software developers, DevOps engineers, system administrators who run Jenkins, team leads, QA staff and students interested in CI/CD. You should understand basic programming and software development, be comfortable with Git and use basic Linux commands. You should have a GitHub account and be able to install Docker Desktop, and the AWS lab uses your own AWS account.
What will I be able to do after the Continuous Integration and Delivery with Jenkins course?
You will be able to containerise applications, install and run Jenkins LTS securely, write declarative Jenkinsfiles, build multibranch pipelines with GitHub, use agents and Docker agents, build and test with reports, build, scan and push Docker images, set quality gates, create shared libraries and Configuration as Code, plan blue/green deployments and deploy Python and Java projects to servers and AWS. Participants who complete the training receive a Certificate of Completion with its own number, which can be verified online.
Software, websites, admin scripts and even documents edited by several people all need a way to keep a history of changes, go back to an earlier version and combine everyone's work without overwriting each other. Git is the industry-standard version control…
Today's web sites, mobile apps and partner services all talk to each other through REST APIs, so teams that already use Django need to expose their data as APIs that are well designed, secure, documented and testable. The Django REST Framework is the standard…
As a system grows and several teams work on it, a single monolithic application tends to become hard to change, slow to deploy and liable to fail as a whole when one part breaks. Microservices architecture splits the system into smaller services that can be…
18 hours3 days
8,550THB9,500 THB
View details
Continuous Integration and Delivery with Jenkins30 hrs · 5 days