Build Service/Key Components

From openSUSE

(Difference between revisions)
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.