lanzamiento de la plataforma , a organizar el proceso de desarrollo de distribuciones y productos de software, incluyendo la preparación y el mantenimiento de lanzamientos y actualizaciones. El sistema permite realizar la compilación cruzada de paquetes para la mayoría de las principales distribuciones de Linux o crear una distribución personalizada basada en una base de paquetes específica.
Se admite la construcción para 21 plataformas objetivo (distribuciones), incluyendo CentOS, Debian, Fedora, OpenMandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL) y Ubuntu. La construcción es posible para 6 arquitecturas, incluyendo i386, x86_64 y ARM. OBS cubre más de 140,000 paquetes y se utiliza como sistema principal para construir proyectos openSUSE, Tizen, Sailfish/Mer, NextCloud y VideoLAN, así como para construir productos de Linux en las empresas Dell, Cray e Intel.
Para construir la versión más reciente del programa especificado en forma de paquete binario para el sistema requerido, es suficiente crear un archivo spec o conectar el repositorio de paquetes disponible en el sitio . Además, se puede formar un entorno minimalista listo para ejecutar en sistemas de virtualización, entornos en la nube o para cargar como una distribución Live. Al trabajar con OBS, el desarrollador puede utilizar el servicio online disponible o un sistema similar en su servidor. Además, se puede desplegar rápidamente una infraestructura propia utilizando imágenes especialmente preparadas máquinas virtuales, contenedores, instalaciones locales o para arranque PXE a través de la red.
Es posible automatizar la descarga de los códigos fuente desde repositorios externos de Git o Subversion o archivos con código desde servidores ftp y web de los proyectos primarios, lo que permite eliminar la carga manual intermedia de archivos de código a la máquina local del desarrollador y la posterior importación en el openSUSE Build Service. A los paquetes acompañantes se les proporcionan herramientas para determinar dependencias de otros paquetes, con reconstrucción automática de esas dependencias al realizar cambios en las mismas. Al agregar parches, existe la posibilidad de probarlos con paquetes similares de otros proyectos.
Para gestionar Open Build Service se puede utilizar tanto herramientas de línea de comandos como una interfaz web. Hay herramientas para conectar clientes externos y usar recursos de servicios como GitHub, SourceForge y kde-apps.org. Los desarrolladores tienen a su disposición herramientas para crear grupos y organizar colaboración. bajo la licencia GPLv2.
Entre , añadidos en Open Build Service 2.10:
- Completamente la interfaz web, que ha sido reescrita utilizando componentes del framework Bootstrap, lo que ha permitido simplificar el mantenimiento del código, unificar el diseño de varias partes y eliminar muchas complicaciones (anteriormente se utilizaban 960 Grid System, un tema propio para Jquery UI y una abundancia de CSS específicos). A pesar de la reestructuración radical, los desarrolladores se esforzaron por mantener la reconocibilidad de los elementos y el flujo de trabajo habitual para reducir las molestias al pasar a la nueva versión;

- Se ha trabajado en mejorar el soporte para la entrega y despliegue de aplicaciones en contenedores aislados. Se ha preparado para la distribución de contenedores. Por ejemplo, para iniciar un nuevo entorno basado en el repositorio Tumbleweed, ahora es suficiente ejecutar «docker run -ti —rm registry.opensuse.org/opensuse/tumbleweed /bin/bash». Se ha asegurado
el soporte para el seguimiento del estado de las compilaciones binarias (control de versiones) en contenedores. Se ha añadido soporte para perfiles kiwi y la posibilidad de generar manifiestos multi-arch; - Se han añadido módulos para la integración con Gitlab y , que permiten vincular ciertas acciones en OBS al realizar nuevos commits o al producirse eventos específicos en esos sistemas.
- Se ha incorporado la posibilidad de cargar en entornos en la nube Amazon EC2 y Microsoft Azure, así como publicar a través de Vagrant;
- Los scripts sysv init han sido reemplazados por archivos systemd;
- Se ha añadido soporte para almacenar métricas con datos de rendimiento en la base de datos InfluxDB;
- En los campos de texto se permite el uso de emoji (para incluir en database.yml es necesario establecer la codificación utf8mb4);
- Se ha añadido una opción para enviar notificaciones a los propietarios de mensajes sobre problemas, con información sobre la aparición de nuevos comentarios;
- Se ha introducido una función de confirmación previa de solicitudes (la solicitud se acepta solo después de completar la revisión);
- Se ha optimizado el rendimiento del código para la generación de productos y su publicación en el repositorio. En el programador, ahora existe la posibilidad de una actualización incremental del proyecto.
Fuente: opennet.ru

