lansarea platformei , organizării procesului de dezvoltare a distribuitorilor și produselor software, inclusiv pregătirea și suportul pentru lansări și actualizări. Sistemul oferă posibilitatea de a efectua cross-compilarea pachetelor pentru majoritatea distribuțiilor Linux sau de a crea propria distribuție pe baza unei baze de pachete specificate.
Se suportă compilarea pentru 21 de platforme țintă (distribuții), inclusiv CentOS, Debian, Fedora, OpenMandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL) și Ubuntu. Compilarea este posibilă pentru 6 arhitecturi, inclusiv i386, x86_64 și ARM. OBS acoperă peste 140.000 de pachete și este utilizat ca sistem principal pentru compilarea proiectelor openSUSE, Tizen, Sailfish/Mer, NextCloud și VideoLAN, precum și pentru compilarea produselor Linux în companiile Dell, Cray și Intel.
Pentru compilarea unei versiuni recente a programului specificat sub formă de pachet binar pentru sistemul dorit, este suficient să creați un fișier spec sau să conectați un depozit de pachete, prezentat pe site-ul . De asemenea, se poate forma un mediu minimalist pregătit pentru executare în sisteme de virtualizare, medii cloud sau pentru a fi încărcat sub formă de Live-distribuție. Atunci când lucrează cu OBS, dezvoltatorul poate utiliza un serviciu online gata făcut sau sau un sistem similar pe propriul server. În plus, se poate desfășura rapid propria infrastructură cu ajutorul unor pregătite pentru mașini virtuale, containere, instalare locală sau pentru PXE-booting prin rețea.
Este posibil să se automatizeze descărcarea codului sursă din depozite externe Git sau Subversion sau arhive cu cod de pe serverele FTP și web ale proiectelor primare, ceea ce permite eliminarea încărcării manuale intermediare a arhivelor cu cod pe mașina locală a dezvoltatorului și importul ulterior în openSUSE Build Service. Pachetelor însoțitoare li se oferă instrumente pentru a determina dependențele față de alte pachete, cu reconstrucția automată a acestor dependențe la modificarea lor. La adăugarea patch-urilor, există posibilitatea testării lor cu pachete similare de la alte proiecte.
Pentru gestionarea Open Build Service, se poate folosi atât un instrument pentru linia de comandă, cât și o interfață web. Există instrumente pentru conectarea clienților terți și utilizarea resurselor de pe servicii externe, cum ar fi GitHub, SourceForge și kde-apps.org. Dezvoltatorilor le sunt disponibile instrumente pentru crearea de grupuri și organizarea colaborării. Codul tuturor componentelor sistemului, inclusiv interfața web, sistemul de testare a pachetelor și backend-urile de construcție, sub licența GPLv2.
Printre , adăugate în Open Build Service 2.10:
- Complet interfața web, care a fost rescrisă folosind componentele framework-ului Bootstrap, ceea ce a permis simplificarea mentenanței codului, unificarea aspectului diferitelor părți și eliminarea multor complexități (anterior au fost folosite 960 Grid System, un propriul temă pentru Jquery UI și o abundență de CSSuri specifice). În ciuda reproiectării drastice, dezvoltatorii au încercat să păstreze recunoașterea elementelor și modul familiar de lucru pentru a reduce disconfortul la trecerea la noua versiune;

- Au fost efectuate lucrări pentru îmbunătățirea suportului pentru livrarea și desfășurarea aplicațiilor în containere izolate. A fost pregătit pentru distribuirea containerelor. De exemplu, pentru a lansa un mediu proaspăt bazat pe depozitul Tumbleweed, este suficient să executați „docker run -ti —rm registry.opensuse.org/opensuse/tumbleweed /bin/bash”. A fost asigurat
suportul pentru urmărirea stării construcțiilor binare (controlul release-urilor) în containere. A fost adăugat suport pentru profilele kiwi și posibilitatea de a genera manifesturi multi-arch; - Au fost adăugate module pentru integrarea cu Gitlab și , care permit legarea anumitor acțiuni în OBS la noi commit-uri sau la apariția unor evenimente specifice în aceste sisteme.
- A fost integrată posibilitatea de încărcare în medii cloud, Amazon EC2 și Microsoft Azure, precum și publicarea prin Vagrant;
- Scripturile sysv init au fost înlocuite cu fișiere systemd;
- A fost adăugat suport pentru stocarea metricelor cu date de performanță în baza de date InfluxDB;
- În câmpurile textuale este permisă utilizarea emoji (pentru a se include în database.yml, este necesar să se seteze codificarea utf8mb4);
- A fost adăugată o opțiune pentru trimiterea notificărilor de către proprietarii mesajelor de probleme, cu informații despre apariția unor comentarii noi;
- A fost introdusă funcția de confirmare preliminară a cererilor (cererea este acceptată doar după finalizarea revizuirii);
- A fost efectuată optimizarea performanței codului pentru generarea produselor și publicarea în repository. În planificator a fost adăugată opțiunea de actualizare incrementală a proiectului.
Sursa: opennet.ro

