Next: Reporter, Previous: Build, Up: BASS v0.1.0-211-g567060e [Index]
CI system consists of master and slave, joined together by shared filesystem. Masters create tasks for slaves. Slaves take those tasks and create jobs with computation results.
┌───┐ ┌──────────┐ ┌───┐ ┌──────────┐ ┌───────────┐ │git│ │task-maker│ │NFS│ │task-taker│ │job-starter│ └─┬─┘ └────┬─────┘ └─┬─┘ └────┬─────┘ └─────┬─────┘ │ revs/$COMMIT │ │ │ │───────────────────────────────────>│ │ │ │ │ │ │ │ │ │ revs/$COMMIT │ │ │ │ │ <────────────────│ │ │ │ │ │ │ │ │ │ mkdir $CTR/+1 │ │ │ │ │ ────────────────>│ │ │ │ │ │ │ │ │ │ rc=0 │ │ │ │ │ <────────────────│ │ │ │ │ │ │ │ │ │ $TASKS/$CTR:task │ │ │ │ │ ────────────────>│ │ │ │ │ │ │ │ │ │ │ $TASKS/$CTR:task │ │ │ │ │─────────────────────> │ │ │ │ │ │ │ │ │mkdir $JOBS/$CTR:task│ │ │ │ │<───────────────────── │ │ │ │ │ │ │ │ │ rc=0 │ │ │ │ │─────────────────────> │ │ │ │ │ │ │ │ │ │ $JOBS/$CTR:task │ │ │ │ │ ────────────────────>│ │ │ │ │ │ │ │ │ touch $JOBS/$CTR:task/alive │ │ │ │<───────────────────────────────────────────│ │ │ │ │ │ │ │ │ │ │────┐ │ │ │ │ │ │ "steps-runner" │ │ │ │ │<───┘ │ │ │ │ │ │ │ │ touch $JOBS/$CTR:task/finished │ │ │ │<───────────────────────────────────────────│ │ │ │ │ │ │ │ │ │ │
• Task: | ||
• Job: | ||
• Daemontools: | ||
• Master: | ||
• Slave: |