What is Jenkins?
Jenkins is an open-source automation server written in Java. It helps you automate the parts of software development related to building, testing, and deploying — freeing developers from repetitive manual tasks.
Think of Jenkins as a robot that watches your code repository. The moment you push new code, Jenkins wakes up, runs your tests, builds your application, and (if everything passes) deploys it — all without you lifting a finger.
Key facts about Jenkins:
- First released in 2011 (forked from Hudson)
- Written in Java, runs on any OS (Linux, Windows, macOS)
- Has over 1,800+ plugins — it integrates with Git, Docker, Slack, AWS, Kubernetes, and more
- Self-hosted — you run it on your own server or VM, which means full control over your infrastructure
- Free and open-source (MIT License)
The reason Jenkins has been around since 2011 and is still widely used is because of that last point — you own it. No SaaS pricing, no vendor lock-in, no data leaving your infra.
Jenkins architecture (high level)
| Component | Role |
|---|---|
| Controller (formerly master) | Schedules jobs, stores config, serves the UI |
| Agent (node) | Executes build steps on 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
Jenkins plugins
Almost everything beyond core Jenkins comes from plugins:
| Plugin | Purpose |
|---|---|
| Git / GitHub | Clone repos and receive webhooks |
| Pipeline | Jenkinsfile-based pipelines |
| Docker Pipeline | Docker agents and Docker steps |
| Credentials Binding | Inject secrets into builds |
| Email Extension | Rich build notifications |
| Blue Ocean | Modern visual pipeline UI |
You will install the suggested plugins during Day 1 setup. That set is enough to start Freestyle jobs and basic pipelines.
Why developers use Jenkins
Full control over infrastructure. Running on your own AWS EC2 instance means you are not paying per-minute for build time, hitting free-tier limits, or locking into a single Git platform.
Massive plugin ecosystem. If a tool exists, Jenkins likely integrates with it.
Pipeline as Code. With a Jenkinsfile, your entire CI/CD pipeline lives in Git — versioned, reviewed, and readable by the whole team.
Flexibility. Jenkins can build any language (Java, Python, Node.js, Go, Ruby), deploy to bare metal, VMs, Kubernetes, or cloud, and wire into any tool in your stack.
Free and open source. No licensing costs. Run it on a small VPS if needed.
GitHub Actions is simpler for many GitHub-only teams. Jenkins teaches what happens under the hood — webhooks, agents, artifact management, credential stores. Actions abstracts much of that. Learning Jenkins first makes every other CI tool easier.
Jenkins advantages (summary)
- Self-hosted ownership of data and runners
- Huge plugin catalog
- Freestyle for learning, Pipelines for production
- Scales from a single Docker container to Master–Agent fleets (Day 4)
- Works with any SCM and any cloud
Tomorrow you will automate Freestyle jobs further and move to Pipeline as Code. First, lock in CI/CD fundamentals and get Jenkins running.