Process Flow - Master-agent architecture
Master Node
Assign Job
Agent Node
Execute Job
Send Results
Master Node Receives Results
The Jenkins master assigns jobs to agents, which run the jobs and send results back to the master.
master.launchJob(job1) agent1.execute(job1) agent1.sendResult(master) master.receiveResult(job1)
| Step | Action | Node | Job State | Result Sent | Master State |
|---|---|---|---|---|---|
| 1 | Master assigns job1 | Master | job1 assigned | No | Waiting for result |
| 2 | Agent1 starts job1 | Agent1 | job1 running | No | Waiting for result |
| 3 | Agent1 completes job1 | Agent1 | job1 done | Yes | Waiting for result |
| 4 | Agent1 sends result | Agent1 | job1 done | Yes | Result sent |
| 5 | Master receives result | Master | job1 done | Yes | Result received |
| 6 | Master updates job status | Master | job1 complete | Yes | Job complete |
| Variable | Start | After Step 1 | After Step 2 | After Step 3 | After Step 5 | Final |
|---|---|---|---|---|---|---|
| job1_state | not assigned | assigned | running | done | done | complete |
| result_sent | No | No | No | Yes | Yes | Yes |
| master_state | idle | waiting for result | waiting for result | waiting for result | result received | job complete |
Jenkins Master-Agent Architecture: - Master assigns jobs to agents. - Agents run jobs and send results back. - Master waits for results before marking jobs complete. - Agents cannot run jobs without master assignment. - Communication ensures distributed job execution.