A generic system to build and distribute packages from sources in an automatic, consistent and reproducible way. Release your software for a wide range of operating systems and hardware architectures.
mlschroe Merge pull request #6114 from mlschroe/master
Implement buildid for unpublished repos
Latest commit 77f5e83 Oct 18, 2018
Permalink
Failed to load latest commit information.
.circleci Bugfix CI run Aug 20, 2018
.github Improve pull request template Oct 9, 2018
contrib Stop using travis-ci Aug 3, 2018
dist [dist] remove package obs-container-registry Oct 16, 2018
docker-files Include aws-cli again for building backend image Aug 14, 2018
docs [api] support request pre-approval Oct 16, 2018
src [backend] implement buildid handling for unpublished repos Oct 18, 2018
.codeclimate.yml Filter src/api/db from codeclimate Jul 28, 2018
.dockerignore [dist] Add docs/ back to docker images Feb 27, 2018
.gitignore Setup pry aliases and history Aug 9, 2018
.gitmessage Remove reference to label from git message and wiki Jul 24, 2018
.gitmodules [webui] no longer put whole bento theme into the git (submodule), but… Sep 18, 2012
.jshintignore [doc] Document the Backend::Api library Oct 1, 2017
.rubocop.yml Dist: introduce another spec file to package bundled gems Jul 25, 2018
.rubocop_todo.yml Regenerate Rubocop todo file after update Sep 21, 2018
.ruby-version [ci] Set Ruby version to 2.5.0 Apr 12, 2018
AUTHORS Add more authors to the list May 19, 2016
CONTRIBUTING.md Add pull request template Oct 9, 2018
COPYING add GPL v2 license file Mar 2, 2006
Makefile [ci] Remove rubocop from Makefile Apr 17, 2018
Makefile.include [dist] remove package obs-container-registry Oct 16, 2018
README.md Add a depfu badge Aug 31, 2018
Rakefile Avoid using brace expansion since the feature is not always available. Aug 14, 2018
ReleaseNotes-2.10 Move status messages related actions to their own controller Aug 30, 2018
SECURITY.md Add initial SECURITY.md file Aug 27, 2018
SUPPORT.md [doc] Add SUPPORT file Mar 6, 2018
codecov.yml Stop using travis-ci Aug 3, 2018
docker-compose.ahm.yml [dist] Introduces real health check for the rabbitmq service Apr 13, 2018
docker-compose.ha.yml [frontend] Enable statistics for HAProxy in development Jun 7, 2018
docker-compose.minitest.yml Add a way to run minitest in a container Aug 6, 2018
docker-compose.selenium.yml [ci] Move the selenium container into an override file Jul 17, 2018
docker-compose.yml [ci] Move the selenium container into an override file Jul 17, 2018
hakiri.yml [ci] Tell hakiri where the app is located Oct 5, 2015

README.md

Build Status Code Coverage Code Climate Depfu

Open Build Service

The Open Build Service (OBS) is a generic system to build and distribute binary packages from sources in an automatic, consistent and reproducible way. You can release packages as well as updates, add-ons, appliances and entire distributions for a wide range of operating systems and hardware architectures. More information can be found on openbuildservice.org.

The OBS consists of a backend and a frontend. The backend implements all the core functionality (i.e. building packages). The frontend provides a web application and XML API for interacting with the backend. Additionally there is a command line client (osc) for the API which is developed in a separate repository.

Licensing

The Open Build Service is Free Software and is released under the terms of the GPL, except where noted. Additionally, 3rd-party content (like, but not exclusively, the webui icon theme) may be released under a different license. Please check the respective files for details.

Community

You can discuss with the OBS Team via IRC on the channel #opensuse-buildservice. Or you can use our mailing list opensuse-buildservice@opensuse.org. Please refer to the openSUSE Mailing Lists page to learn about our mailing list subscription and additional information.

Development / Contribution

If you want to contribute to the OBS please checkout our contribution readme:-)

Source Code Repository Layout

The OBS source code repository is hosted on Github and organized like this:

    dist          Files relevant for our distribution packages
    docs          Documentation, examples and schema files
    src/api       Rails app (Ruby on Rails)
    src/backend   Backend code (Perl)

Installation

To run the OBS in production we recommend using our appliance which is the whole package: A recent and stable Linux Operating System (openSUSE) bundled and pre-configured with all the server and OBS components you need to get going.

If that is not for you because you have some special needs for your setup (e.g. different partition schema, SLES as base system, etc.) you can also install our packages and run a setup wizard.

After finishing the installation of your base system, follow these steps:

  1. Add the OBS software repository with zypper. Please be aware, that the needed URL differs, depending on your Base Operating System. We use openSUSE Leap 42.1 in this example.

    zypper ar -f http://download.opensuse.org/repositories/OBS:/Server:/2.7/openSUSE_42.1/OBS:Server:2.7.repo
  2. Install the package

    zypper in -t pattern OBS_Server
  3. Run our setup wizard

    /usr/lib/obs/server/setup-appliance.sh

Advanced Setup

If you have a more complex setup (e.g. a distributed backend) we recommend to read the Administration chapter in our reference manual.