wydanie platformy , do organizacji procesu tworzenia dystrybucji i produktów oprogramowania, w tym przygotowania i wsparcia wydań oraz aktualizacji. System umożliwia przeprowadzenie krzyżowej kompilacji pakietów dla większości głównych dystrybucji Linuxa lub zbudowanie własnej dystrybucji na podstawie podanej bazy pakietów.
Obsługiwane jest tworzenie dla 21 docelowej platformy (dystrybucji), w tym CentOS, Debian, Fedora, OpenMandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL) oraz Ubuntu. Można tworzyć dla 6 architektur, w tym i386, x86_64 oraz ARM. OBS obejmuje ponad 140 tysięcy pakietów i jest używane jako główny system do tworzenia projektów openSUSE, Tizen, Sailfish/Mer, NextCloud oraz VideoLAN, a także do tworzenia produktów Linuxa w firmach Dell, Cray oraz Intel.
Aby zbudować najnowszą wersję określonego programu w formie binarnego pakietu dla wymaganej systemu, wystarczy stworzyć plik spec lub podłączyć repozytorium pakietów przedstawione na stronie . Ponadto można utworzyć gotowe minimalistyczne środowisko do działania w systemach wirtualizacji, środowiskach chmurowych lub do załadowania w formie Live-dystrybucji. Pracując z OBS, programista może korzystać z gotowego serwisu online lub takiego systemu na swoim serwerze. Ponadto można szybko uruchomić własną infrastrukturę dzięki specjalnie przygotowanym dla maszyn wirtualnych, kontenerów, lokalnej instalacji lub do uruchamiania PXE w sieci.
Można zautomatyzować pobieranie źródeł z zewnętrznych repozytoriów Git lub Subversion lub archiwów z kodem z serwerów ftp oraz web, co pozwala na eliminację pośredniego ręcznego wgrywania archiwów z kodem na lokalną maszynę dewelopera i późniejszego importu do openSUSE Build Service. Do pakietów towarzyszących dostarczane są narzędzia do określania zależności od innych pakietów z automatyczną przebudową tych zależności po wprowadzeniu w nich zmian. Przy dodawaniu poprawek istnieje możliwość ich testowania z podobnymi pakietami z innych projektów.
Do zarządzania Open Build Service można używać zarówno narzędzi wiersza poleceń, jak i interfejsu webowego. Dostępne są środki do podłączania klientów zewnętrznych oraz korzystania z zasobów z serwisów takich jak GitHub, SourceForge i kde-apps.org. Deweloperzy mają do dyspozycji narzędzia do tworzenia grup i organizacji współpracy. Kod wszystkich komponentów systemu, w tym interfejsu webowego, systemu testowania pakietów i backendów kompilacji, na licencji GPLv2.
Wśród , dodanych w Open Build Service 2.10:
- Całkowicie interfejs webowy, który został przepisany przy użyciu komponentów frameworka Bootstrap, co umożliwiło uproszczenie utrzymania kodu, ujednolicenie wyglądu różnych części i pozbycie się wielu skomplikowań (wcześniej stosowano 960 Grid System, własny motyw dla jQuery UI oraz mnóstwo specyficznych CSS). Pomimo radykalnych zmian, deweloperzy starali się zachować rozpoznawalność elementów i dotychczasowe zasady pracy, aby zminimalizować dyskomfort przy przejściu na nową wersję;

- Przeprowadzono prace mające na celu poprawę wsparcia dla dostarczania i wdrażania aplikacji w izolowanych kontenerach. Przygotowano do dystrybucji kontenerów. Na przykład, aby uruchomić świeże środowisko oparte na repozytorium Tumbleweed, wystarczy wykonać „docker run -ti —rm registry.opensuse.org/opensuse/tumbleweed /bin/bash”. Zapewniono
wsparcie do śledzenia stanu binarnych kompilacji (kontrola wydań) w kontenerach. Dodano wsparcie dla profili kiwi oraz możliwość generowania manifestów multi-arch; - Dodano moduły do integracji z Gitlab i , które umożliwiają powiązanie określonych działań w OBS z nowymi commitami lub wystąpieniem określonych zdarzeń w tych systemach.
- Wbudowano możliwość przesyłania do chmurowych środowisk Amazon EC2 i Microsoft Azure, a także publikacji przez Vagrant;
- Skrypty sysv init zastąpiono plikami systemd;
- Dodano wsparcie do przechowywania metryk z danymi o wydajności w bazie danych InfluxDB;
- W polach tekstowych zezwolono na użycie emoji (aby włączyć je w database.yml, należy ustawić kodowanie utf8mb4);
- Dodano opcję wysyłania powiadomień właścicielom zgłoszeń o problemach, z informacjami o pojawieniu się nowych komentarzy;
- Pojawiła się funkcja wstępnego zatwierdzania zapytań (zapytanie jest akceptowane dopiero po zakończeniu recenzji);
- Zoptymalizowano wydajność kodu generowania produktu i publikacji w repozytorium. W plannerze pojawiła się możliwość inkrementalnej aktualizacji projektu.
Źródło: opennet.ru

