A multibranch pipeline decides which branches of one repository get jobs, and the Jenkinsfile what they do; Job DSL 1,924 decides which top-level jobs exist. BookNest uses both: Job DSL creates the multibranch jobs, which create the branch jobs.
| Question | Multibranch Pipeline | Job DSL |
|---|---|---|
| What does it create? | One job per branch and pull request | Any job type, from a script |
| Where does it live? | The Jenkinsfile, in each repository | A script on the controller or in Git 1,932 |
| When does it run? | Branch indexing and webhooks | Controller start, reload or a seed job |
| Best at | Per-branch builds of one repository | Many similar jobs across repositories |
An organization folder (Organization Folders) also creates a job per repository without a script, but scans the whole account; the explicit list suits a personal account shared with unrelated projects.