Build Service/Key Components
From openSUSE
| Revision as of 21:02, 4 November 2009 Lbt (Talk | contribs) A beginning � Previous diff |
Revision as of 22:26, 4 November 2009 Lbt (Talk | contribs) draft Next diff → |
||
| Line 1: | Line 1: | ||
| - | The OBS contains several components | + | The OBS contains several components; this page provides an overview. |
| + | |||
| + | *DRAFT* | ||
| ==Backend== | ==Backend== | ||
| Line 5: | Line 7: | ||
| The main OBS servers are found in /usr/lib/obs/ | The main OBS servers are found in /usr/lib/obs/ | ||
| - | ===bs_repserver== | + | ===bs_srcserver=== |
| - | This system serves binaries to the workers and more importantly calculates what binaries are needed for specific jobs. | + | There is one Source server per OBS which manages the sources, revisions, project/package metadata, the "link"-handling, (submit)requests etc |
| + | |||
| + | ===bs_repserver=== | ||
| + | The system serves binaries to the workers and more importantly calculates what binaries are needed for specific jobs. | ||
| + | It also handles resulting packages and passes them to the signing server | ||
| + | |||
| + | ===bs_scheduler=== | ||
| + | There is a scheduler service for each architecture. | ||
| + | |||
| + | ===bs_dispatcher=== | ||
| + | There is one dispatcher per OBS which hands out requests to workers based on scheduler queues. | ||
| + | |||
| + | ===bs_publisher=== | ||
| + | The publisher responds to scheduler events and transfers packages for a project to the downloads areas. | ||
| + | |||
| + | ===bs_worker=== | ||
| + | The worker is started on a build host and manages the actual build. | ||
| + | |||
| + | ==Process== | ||
| + | A worker is triggered by the dispatcher, requests binaries from the reposerver, source from the srcserver and sends the resulting packages to the repserver. | ||
| - | ===srcserver=== | + | The repserver then triggers an event for the signing server, once signed, the scheduler will fetch the job, sort it into a repository and finally creates an event for the publisher when the repository build cycle completes. |
Revision as of 22:26, 4 November 2009
The OBS contains several components; this page provides an overview.
- DRAFT*
Contents |
Backend
The main OBS servers are found in /usr/lib/obs/
bs_srcserver
There is one Source server per OBS which manages the sources, revisions, project/package metadata, the "link"-handling, (submit)requests etc
bs_repserver
The system serves binaries to the workers and more importantly calculates what binaries are needed for specific jobs. It also handles resulting packages and passes them to the signing server
bs_scheduler
There is a scheduler service for each architecture.
bs_dispatcher
There is one dispatcher per OBS which hands out requests to workers based on scheduler queues.
bs_publisher
The publisher responds to scheduler events and transfers packages for a project to the downloads areas.
bs_worker
The worker is started on a build host and manages the actual build.
Process
A worker is triggered by the dispatcher, requests binaries from the reposerver, source from the srcserver and sends the resulting packages to the repserver.
The repserver then triggers an event for the signing server, once signed, the scheduler will fetch the job, sort it into a repository and finally creates an event for the publisher when the repository build cycle completes.

