version de la plateforme , à organiser le processus de développement de distributions et de produits logiciels, y compris la préparation et le suivi des versions et des mises à jour. Le système permet de réaliser la croix-compilation de paquets pour la plupart des distributions Linux principales ou de créer sa propre distribution basée sur une base de paquets donnée.
La construction est prise en charge pour 21 plates-formes cibles (distributions), y compris CentOS, Debian, Fedora, OpenMandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL) et Ubuntu. La compilation est possible pour 6 architectures, y compris i386, x86_64 et ARM. L'OBS couvre plus de 140 000 paquets et est utilisé comme système primaire pour la construction de projets openSUSE, Tizen, Sailfish/Mer, NextCloud et VideoLAN, ainsi que pour la construction de produits Linux dans les entreprises Dell, Cray et Intel.
Pour construire une version récente d'un programme donné sous la forme d'un paquet binaire pour le système nécessaire, il suffit de créer un fichier spec ou de connecter un dépôt de paquets, présenté sur le site . De plus, il est possible de former un environnement minimaliste prêt à être exécuté dans des systèmes de virtualisation, des environnements cloud ou de le charger sous la forme d'une distribution Live. Lors de l'utilisation de l'OBS, le développeur peut utiliser un service en ligne prêt à l'emploi ou ou un système similaire sur son propre serveur. En outre, il est possible de déployer rapidement sa propre infrastructure à l'aide d'images spécialement préparées Il est possible d'automatiser le téléchargement des codes sources depuis des dépôts Git ou Subversion externes ou des archives de code depuis des serveurs ftp et web des projets primaires, ce qui permet de se débarrasser du téléchargement manuel intermédiaire des archives de code sur la machine locale du développeur et de l'importation subséquente dans l'openSUSE Build Service. Les paquets associés fournissent des outils pour déterminer les dépendances d'autres paquets avec une reconstruction automatique de ces dépendances lors de modifications. Lors de l'ajout de patchs, il est possible de les tester avec des paquets similaires d'autres projets.
Il est possible d'automatiser le chargement des sources à partir de dépôts Git ou Subversion externes, ou d'archives de code à partir de serveurs FTP et web des projets principaux. Cela permet d'éliminer le besoin de télécharger manuellement les archives de code sur la machine locale du développeur avant de les importer dans OpenSUSE Build Service. Les paquets accompagnants fournissent des outils pour déterminer les dépendances vis-à-vis d'autres paquets, avec une reconstruction automatique des données de dépendance lors de modifications. Lors de l'ajout de correctifs, il est possible de les tester avec des paquets similaires d'autres projets.
Pour gérer Open Build Service, vous pouvez utiliser à la fois des outils en ligne de commande et une interface web. Des moyens sont disponibles pour connecter des clients tiers et utiliser des ressources provenant de services externes tels que GitHub, SourceForge et kde-apps.org. Les développeurs ont accès à des outils pour créer des groupes et organiser la collaboration. sous licence GPLv2.
Parmi , ajoutés dans Open Build Service 2.10 :
- Entièrement une interface web, réécrite avec des composants du framework Bootstrap, ce qui a permis de simplifier la maintenance du code, d'uniformiser la présentation de différentes parties et de se débarrasser de nombreuses complications (auparavant, un système de grille 960 Grid System, un thème personnalisé pour Jquery UI et une multitude de CSS spécifiques étaient utilisés). Malgré cette refonte radicale, les développeurs ont veillé à conserver la reconnaissance des éléments et la routine habituelle de travail pour réduire l'inconfort lors de la transition vers la nouvelle version ;

- Un travail a été effectué pour améliorer le support de la livraison et du déploiement d'applications pour des conteneurs isolés. Un pour la distribution des conteneurs a été préparé. Par exemple, pour lancer un nouvel environnement basé sur le dépôt Tumbleweed, il suffit désormais d'exécuter «docker run -ti —rm registry.opensuse.org/opensuse/tumbleweed /bin/bash». Le
support du suivi de l'état des builds binaires (contrôle des versions) dans les conteneurs a été assurée. Un support pour les profils kiwi et la possibilité de générer des manifestes multi-arch ont été ajoutés ; - Des modules d'intégration avec Gitlab ont été ajoutés , permettant de lier des actions spécifiques dans OBS lors de nouveaux commits ou d'événements définis dans ces systèmes.
- La possibilité de charger dans des environnements cloud Amazon EC2 et Microsoft Azure, ainsi que de publier via Vagrant, a été intégrée ;
- Les scripts sysv init ont été remplacés par des fichiers systemd ;
- Le support du stockage des métriques avec des données de performance dans la base de données InfluxDB a été ajouté ;
- L'utilisation d'emoji dans les champs de texte est désormais autorisée (pour l'inclure dans database.yml, il est nécessaire de définir l'encodage utf8mb4) ;
- Une option d'envoi de notifications aux propriétaires des messages sur les problèmes a été ajoutée, avec des informations sur les nouveaux commentaires ;
- Une fonction de confirmation préalable des demandes est désormais disponible (la demande est acceptée seulement après la fin de la révision) ;
- L'optimisation des performances du code pour la génération de produits et la publication dans le dépôt a été effectuée. Le planificateur a maintenant la possibilité de mise à jour incrémentielle du projet.
Source : opennet.ru

