Gli sviluppatori della distribuzione AlmaLinux, un clone gratuito di Red Hat Enterprise Linux simile a CentOS, hanno presentato un nuovo sistema di build chiamato ALBS (AlmaLinux Build System), già utilizzato per le versioni AlmaLinux 8.6 e 9.0, preparate per le architetture x86_64, Aarch64, PowerPC ppc64le e s390x. Oltre alla costruzione della distribuzione, ALBS è anche utilizzato per la generazione e pubblicazione di aggiornamenti correttivi (errata) e per la firma digitale dei pacchetti. Il codice del sistema di build è scritto in Python e distribuito con licenza GPLv3.
Il sistema di build presentato si basa sui risultati di CloudLinux, che sviluppa una propria distribuzione commerciale basata sulla base di pacchetti RHEL. CloudLinux ha fondato il progetto AlmaLinux e ha creato la non profit AlmaLinux OS Foundation, istituita per lo sviluppo su di una piattaforma neutrale con la partecipazione della comunità e utilizzando un modello di gestione simile a quello del progetto Fedora. Per confermare l'impegno verso un modello di sviluppo completamente aperto e trasparente per la comunità, il codice del sistema di build è ora completamente accessibile e tutte le fasi di build di AlmaLinux sono sotto il controllo della comunità.
Il sistema ALBS è progettato per automatizzare il build della distribuzione, la costruzione dei pacchetti, il testing dei pacchetti, la creazione di firme digitali e la pubblicazione dei pacchetti costruiti nei repository pubblici. Il sistema mira a gestire tutte le fasi di formazione della distribuzione come un tutto unico per eliminare gli errori causati dal fattore umano. Il sistema di build continua a sviluppare il sistema di build interno di CloudLinux, utilizzato dal 2012.
Oltre ai pacchetti in formato RPM, è supportato anche il formato DEB e sono forniti strumenti per automatizzare la sostituzione dei marchi e la modifica dei pacchetti ricompilati. Il sistema può essere utilizzato per creare distribuzioni personalizzate basate su Ubuntu e Debian. Per il test delle build viene utilizzato il sistema di integrazione continua Jenkins. Il codice sorgente dei pacchetti compilati viene caricato da un repository Git (nel caso di AlmaLinux, le modifiche nei pacchetti RHEL sono tracciate tramite git.centos.org e trasferite a git.almalinux.org e sources.almalinux.org).

Per tutti coloro che sono interessati, è disponibile l'accesso anonimo al sistema di building di AlmaLinux, che consente di monitorare tutte le fasi di costruzione della distribuzione. Attraverso l'interfaccia fornita, è possibile determinare quali pacchetti sono attualmente in fase di costruzione, quando è stato costruito un pacchetto di interesse e quali pacchetti hanno riscontrato errori durante la costruzione. È disponibile un log di build completo con dettagli a livello di singoli pacchetti. Attualmente, l'accesso è limitato alla possibilità di osservare il sistema, ma alla fine di luglio è previsto il lancio di un sistema di gestione degli accessi basato sui ruoli (RBAC) che offrirà ai membri della comunità e agli sponsor la possibilità di costruire i propri pacchetti in ALBS.
In futuro è inoltre prevista la supporto per la verifica delle build utilizzando il servizio CodeNotary, il supporto per il servizio di build COPR, la supporto per gli spazi dei nomi per la fornitura a progetti e organizzazioni di infrastrutture di build per i propri pacchetti, e la preparazione di strumenti per l'automazione della build e della pubblicazione delle immagini di macchine virtuali e dei container.
Fonte: opennet.ru
