Archive:Build Service Developer Documentation
This article about the Open Build Service is obsolete! You can find up to date information on https://github.com/openSUSE/open-build-service/ |
Documentation
For documentation on how to set up a OBS instance, please read the file INSTALL in the git repository. The OBS packages are created in the openSUSE:Tools project openSUSE:Tools, unstable packages of the upcoming release are created in openSUSE:Tools:Unstable.
How to
A full HowTo describing the process to setup a private OBS and a use model proposition is available here.
Architecture overview
The Open Build Service consists of three main components:
- The backend
- The frontend (API)
- Clients which connect to the frontend (webui, osc ...)
OBS Clients
The architecture based on a REST API allows to write different clients easily. That gives us the chance to address the needs of users with different experience. The clients can put different emphases on different usecases.
Web Client
The Web-based client for the openSUSE Build Service provides easy access to the Build Service. Please read this article on how to set up a local webclient from source.
Command Line Clients
- The OSC commandline client gives access to most functions of the Build Service. It is the recommended tool for the daily packaging work.
- The build service REST API can also be directly used with your tools, or for example with curl. The API is documented in the OBS source and at https://build.opensuse.org/apidocs/. You can also use OSC with the
-d
option to see the API requests issued for a given osc command.
Desktop Rich Clients
- There has been a Google Summer of Code project that started to implement a KDE Rich Client (discontinued).
- MonoOSC is a project composed of two parts. A CSharp (C#) library used to access the openSUSE Build Service. The second part is a nice GUI which uses this library.