How jenkinsci/jenkins works
Jenkins is an extensible automation server: users configure jobs, Jenkins schedules work, and build tasks support project building, testing, analysis, and deployment. Its runtime model includes jobs and runs, a queue and executors, agent nodes, SCM abstractions, plugin extensions, and administrative interfaces. The README establishes the product and automation capabilities; the tree identifies the relevant runtime areas. Sampled excerpts cover selected utilities and integrations, not the central scheduling or build implementation, so the graph shows only the principal documented relationships and avoids detailed internal call claims.
Main entry points: Hudson.java Jenkins Core · Run.java Build Runs · Executor.java Executors · Job.java Jobs and Runs
Components 20
Job Control
- Jenkins Core
core/src/main/java/hudson/model/Hudson.java - Jobs and Runs
core/src/main/java/hudson/model/Job.java - Build Queue
core/src/main/java/hudson/model/Queue.java
Build Execution
- Agent Nodes
core/src/main/java/hudson/model/Node.java - Executors
core/src/main/java/hudson/model/Executor.java - Build Runs
core/src/main/java/hudson/model/Run.java - Workspace Files
core/src/main/java/hudson/FilePath.java
Extensions
- SCM Integration
core/src/main/java/hudson/scm/SCM.java - Plugin Runtime
core/src/main/java/hudson/PluginManager.java - Extension Registry
core/src/main/java/hudson/ExtensionList.java
Administration
- CLI Commands
core/src/main/java/hudson/cli/CLICommand.java - Federated Login
core/src/main/java/hudson/security/FederatedLoginService.java - Plugin Updates
core/src/main/java/hudson/model/UpdateCenter.java - Browser UI
src/main/js/util/jenkinsLocalStorage.js
Runtime State
- Fingerprints
core/src/main/java/jenkins/fingerprints/FileFingerprintStorage.java - Update Metadata
core/src/main/java/hudson/model/DownloadService.java
Other components
- Developer
- Source Control
- Build Agent
- Update Sites
Connections 20
- Developer → Jenkins Core: configures jobs
- Jenkins Core → Jobs and Runs: manages jobs
- Jobs and Runs → Build Queue: schedules work
- Build Queue → Executors: dispatches work
- Executors → Agent Nodes: uses node
- Executors → Build Runs: runs task
- Build Runs → Workspace Files: uses workspace
- Build Runs → SCM Integration: uses SCM
- SCM Integration → Source Control: accesses source
- Agent Nodes → Build Agent: connects agent
- Plugin Runtime → Extension Registry: registers extensions
- Jenkins Core → Plugin Runtime: manages plugins
- Developer → CLI Commands: runs commands
- CLI Commands → Jenkins Core: requests operations
- Developer → Browser UI: uses interface
- Jenkins Core → Federated Login: supports login
- Developer → Plugin Updates: manages updates
- Plugin Updates → Update Metadata: retrieves metadata
- Update Metadata → Update Sites: downloads data
- Build Runs → Fingerprints: records fingerprints