Components
| Component | Role |
|---|---|
| Controller (formerly master) | Schedules jobs, stores config, serves the UI |
| Agent (node) | Executes build steps; any OS |
| Executor | Slot on an agent that runs one build at a time |
| Workspace | Per-build directory for source and artifacts |
Developer / Webhook
↓
Jenkins Controller
↓
Agent(s) + Executors
↓
Workspace → Build → Artifacts
Jobs vs pipelines
- Freestyle job — configured in the UI with shell steps. Fast for experiments.
- Pipeline job — defined in a
Jenkinsfilein source control. Preferred for production.
Scale later
Start with “built-in node” (controller runs jobs). Add remote agents when you need isolation, more CPU, or OS diversity (Day 4 covers Docker agents).
Avoid running heavy builds on the controller in production — keep it light and push work to agents.