Lesson content
Read, practise, then check your understanding
Introduction to Jenkins
Jenkins is an open-source automation server descended from the Hudson project. Its large integration ecosystem and programmable pipelines make it useful for continuous integration, delivery orchestration, scheduled automation, and controlled releases across many technology stacks.
Core ideas
- Continuous integration compiles, checks, and packages frequent changes so defects surface near their source.
- A job is a configured automation unit; each execution is recorded as a build.
- A pipeline models delivery as named stages and steps, normally versioned in a
Jenkinsfile. - Modern Jenkins documentation calls the coordinating service the controller; older material may use the legacy term “master.”
How it works
The controller receives events, loads job configuration, places work in the build queue, and assigns it to a compatible agent executor. The agent checks out source and runs tools. Status, logs, artifacts, and metadata return to Jenkins for visualization and downstream decisions.
Configuration example
pipeline {
agent any
stages {
stage('Build') {
steps { sh './gradlew assemble' }
}
stage('Verify') {
steps { sh './gradlew check' }
}
}
}
The sample is intentionally small. In a real installation, replace hostnames, labels, credentials, retention, and commands with reviewed values from your own platform standards.
Production guidance
- Keep builds reproducible outside Jenkins; the server should orchestrate commands rather than contain hidden build logic.
- Use a pipeline for multi-stage delivery and retain the
Jenkinsfilebeside the application. - Treat Jenkins as production infrastructure with ownership, upgrades, backups, monitoring, and recovery plans.
The chapter quiz follows this lesson and tests both terminology and safe operating choices.
Knowledge check
Answer every question correctly to complete this chapter.
0 of 10 checks passed
Your progress is saved on this device.