Jenkins labs - 20 hands-on challenges
Solve 20 real Jenkins challenges in an isolated container in your browser. No setup, no fake shells.
- Repair the First Pipeline - beginner · Fix a broken Declarative Pipeline and restore its checkout-test flow.
- Gate the Staging Deploy - beginner · Add a build parameter and a conditional deployment gate.
- Remove the Secret from the Script - intermediate · Use a folder-scoped Jenkins credential without exposing its value.
- Make CI Self-Starting and Observable - intermediate · Add SCM polling, failure handling, and retained build output.
- Route and Fan Out the Test Matrix - advanced · Schedule independent test branches on appropriately labeled executors.
- Promote the Exact Artifact - advanced · Move one immutable build output through promotion instead of rebuilding.
- Scope Pipeline Environment Variables - beginner · Separate Pipeline-wide configuration from stage-only release data.
- Control Build History Growth - beginner · Configure log rotation so old builds and artifacts do not fill controller storage.
- Publish Test Results - beginner · Turn raw JUnit XML into Jenkins test history and build health.
- Leave a Clean Workspace - beginner · Clean workspace residue after every Pipeline outcome.
- Add a Production Approval Gate - beginner · Pause deployment for an explicit human confirmation.
- Bound and Retry a Flaky Operation - intermediate · Combine retry limits with a hard deadline for resilient CI work.
- Repair a Scripted Pipeline - intermediate · Use Scripted Pipeline node and stage steps instead of Declarative-only structure.
- Contain a Non-Critical Failure - intermediate · Mark an optional stage unstable while allowing required stages to continue.
- Build a Compatibility Matrix - intermediate · Express multi-axis compatibility work with Declarative matrix syntax.
- Enforce a Quality Gate - intermediate · Stop promotion when a measured test threshold is not met.
- Preserve State for Stage Restart - advanced · Retain stashes so a failed deployment can restart without rebuilding.
- Generate Parallel Work Programmatically - advanced · Build and execute a map of Scripted Pipeline closures.
- Guarantee Scripted Cleanup - advanced · Use try/catch/finally for failure state and unconditional cleanup.
- Prevent Stale Releases - advanced · Use ordered milestones to stop older runs overtaking newer releases.