lançamento da plataforma , para organizar o processo de desenvolvimento de distribuições e produtos de software, incluindo a preparação e manutenção de lançamentos e atualizações. O sistema permite realizar a compilação cruzada de pacotes para a maioria das principais distribuições Linux ou compilar uma distribuição personalizada com base em uma base de pacotes definida.
Suporta a compilação para 21 plataformas-alvo (distribuições), incluindo CentOS, Debian, Fedora, OpenMandriva, openSUSE, SUSE Enterprise Linux, Red Hat Enterprise Linux (RHEL) e Ubuntu. A compilação é possível para 6 arquiteturas, incluindo i386, x86_64 e ARM. O OBS cobre mais de 140 mil pacotes e é utilizado como sistema primário para compilar projetos do openSUSE, Tizen, Sailfish/Mer, NextCloud e VideoLAN, bem como para compilar produtos Linux em empresas como Dell, Cray e Intel.
Para compilar uma nova versão do programa especificado na forma de um pacote binário para o sistema desejado, basta criar um arquivo spec ou conectar-se ao repositório de pacotes disponível no site . Além disso, é possível formar um ambiente minimalista pronto para execução em sistemas de virtualização, ambientes em nuvem ou para ser carregado na forma de uma distribuição Live. Ao trabalhar com o OBS, o desenvolvedor pode utilizar o serviço online ou um sistema semelhante em seu próprio servidor. Além disso, é possível implementar rapidamente uma infraestrutura própria com a ajuda de imagens especialmente preparadas É possível automatizar o download de códigos-fonte de repositórios externos Git ou Subversion ou arquivos com código de servidores ftp e web dos projetos primários, o que permite eliminar o upload manual intermediário dos arquivos de código para a máquina local do desenvolvedor e a subsequente importação para o openSUSE Build Service. Os pacotes complementares fornecem ferramentas para determinar as dependências de outros pacotes com a reconstrução automática dos dados dessas dependências ao serem alterados. Ao adicionar patches, existe a possibilidade de testá-los com pacotes semelhantes de outros projetos.
É possível automatizar o upload de códigos fonte a partir de repositórios externos Git ou Subversion, ou arquivos de código de servidores ftp e web dos projetos principais, eliminando a necessidade de carregar manualmente os arquivos de código para a máquina local do desenvolvedor e depois importá-los para o openSUSE Build Service. Os pacotes fornecem ferramentas para determinar as dependências de outros pacotes, com recompilação automática dos dados de dependências ao serem feitas alterações. Ao adicionar patches, é possível testá-los com pacotes semelhantes de outros projetos.
Para gerenciar o Open Build Service, pode-se usar tanto a ferramenta de linha de comando quanto a interface web. Existem recursos para conectar clientes de terceiros e utilizar recursos de serviços externos, como GitHub, SourceForge e kde-apps.org. Os desenvolvedores têm acesso a ferramentas para criar grupos e organizar a colaboração. O código de todos os componentes do sistema, incluindo a interface web, o sistema de teste de pacotes e os backends de construção, sob a licença GPLv2.
Entre , adicionados ao Open Build Service 2.10:
- Totalmente a interface web, que foi reescrita usando componentes do framework Bootstrap, o que simplificou a manutenção do código, unificou a formatação de várias partes e eliminou muitas complexidades (anteriormente eram utilizados 960 Grid System, um tema próprio para Jquery UI e uma abundância de CSS específico). Apesar da reestruturação radical, os desenvolvedores se esforçaram para manter o reconhecimento dos elementos e a rotina de trabalho familiar, a fim de reduzir o desconforto na transição para a nova versão;

- Foi feito um trabalho para melhorar o suporte à entrega e implantação de aplicativos para contêineres isolados. Preparado um para a distribuição de contêineres. Por exemplo, para iniciar um novo ambiente baseado no repositório Tumbleweed, agora é suficiente executar “docker run -ti —rm registry.opensuse.org/opensuse/tumbleweed /bin/bash”. Garantido o
suporte ao monitoramento do estado das compilações binárias (controle de lançamentos) em contêineres. Adicionada a compatibilidade com perfis kiwi e a possibilidade de gerar manifestos multi-arch; - Módulos foram adicionados para integração com Gitlab e , que permitem vincular determinadas ações no OBS quando novos commits são feitos ou eventos específicos ocorrem nesses sistemas.
- Incorporada a possibilidade de upload em ambientes de nuvem Amazon EC2 e Microsoft Azure, assim como publicação através do Vagrant;
- Os scripts sysv init foram substituídos por arquivos systemd;
- Adicionado suporte para armazenamento de métricas com dados de desempenho em um SGBD InfluxDB;
- Nos campos de texto, o uso de emoji é permitido (para ativá-los em database.yml é necessário definir a codificação utf8mb4);
- Adicionada uma opção para enviar notificações aos proprietários de mensagens sobre problemas, com informações sobre novos comentários que surgirem;
- Introduzida a função de pré-aprovação de solicitações (a solicitação é aceita apenas após a conclusão da revisão);
- A otimização do desempenho do código foi realizada para a geração de produtos e publicação no repositório. O planejador agora tem a capacidade de atualização incremental do projeto.
Fonte: opennet.ru

