Jeballto Jenkins Plugin¶
Provision disposable macOS Jenkins agents on demand through the Jeballto VM Agent.
The plugin plugs into Jenkins Cloud, matches job labels to Jeballto-backed images, launches a one-shot build agent inside a fresh VM, and cleans that VM up after the build.
Why this exists¶
Jenkins handles dynamic agents well, but macOS capacity is difficult to scale safely. This plugin gives Jenkins operators:
- ephemeral VM agents instead of long-lived shared Macs
- label-based routing to OCI images
- multi-host failover through Cloud configuration
- guardrails for capacity, cooldowns, and orphan cleanup
Documentation map¶
Get started
Read Getting Started, then follow Installation and Quickstart.
Understand the model
Use Configuration and Concepts to understand global label mappings, per-host templates, and template ordering.
Operate and debug
Keep How It Works, Troubleshooting, and Gotchas close during the first production rollout.
Requirements at a glance¶
- Jenkins controller compatible with Java 21
- Apple Silicon host running the Jeballto Agent
- macOS 26.0+ on the host
- OCI images suitable for your Jenkins labels
Mental model¶
Jenkins job with label
-> plugin chooses the matching global label mapping
-> plugin finds agent templates assigned to that label
-> templates are tried in configured order, skipping cooldown or full templates
-> plugin provisions VM through Jeballto
-> Jenkins agent connects over SSH
-> build runs once
-> plugin deletes the VM
The most important concept is the split between:
- cloud-level label-to-image mappings
- per-host agent configurations
That separation is what makes one image reusable across multiple Macs while still preserving host-specific settings such as API URL, SSH credentials, and capacity.