AlmaLinux Build System: el nuevo sistema de compilación de AlmaLinux
Hace poco los desarrolladores de la distribución AlmaLinux presentaron un nuevo sistema de compilación llamado ALBS (AlmaLinux Build System), que ya se ha utilizado en la formación de las versiones AlmaLinux 8.6 y 9.0 preparadas para las arquitecturas x86_64, Aarch64, PowerPC ppc64le y s390x.
El sistema de compilación presentado se basa en los desarrollos de CloudLinux, que desarrolla su propia distribución comercial basada en la base del paquete RHEL.
Aquí en AlmaLinux OS Foundation creemos que facilitar a los miembros de la comunidad la creación de paquetes e imágenes es una parte fundamental para hacer crecer y garantizar un ecosistema Linux empresarial saludable. AlmaLinux es completamente de código abierto y cuenta con el respaldo de una lista creciente de miembros que ayudan a mejorar cada versión. Con ese fin, comenzamos a trabajar hace mucho tiempo para asegurarnos de que nuestro sistema de compilación también sea transparente y abierto para que lo use cualquier organización que esté interesada en crear una mejor distribución de Linux.
Hoy nos complace anunciar los primeros frutos de nuestros esfuerzos, ALBS, The AlmaLinux Build System.
Para quienes desconocen de CloudLinux deben saber que fundó el Proyecto AlmaLinux y es miembro fundador de la Fundación AlmaLinux OS, una organización sin fines de lucro diseñada para desarrollarse en un entorno neutral impulsado por la comunidad utilizando un modelo de gobierno similar al Proyecto Fedora.
Para confirmar el compromiso con el modelo de desarrollo completamente abierto y transparente declarado inicialmente para la comunidad, el código del sistema de compilación ahora está completamente abierto y todas las etapas de compilación de AlmaLinux están controladas por la comunidad.
Sobre AlmaLinux Build System
El sistema ALBS se centra en la automatización de la creación de distribución, la creación de paquetes, la prueba de paquetes, la generación de firmas digitales y la publicación de paquetes compilados en repositorios públicos. El sistema tiene como objetivo procesar todas las etapas de la formación de la distribución como un todo para eliminar errores causados por el factor humano. El sistema de compilación continúa la evolución del sistema de compilación interno de CloudLinux, que ha estado en uso desde 2012.
Además de los paquetes RPM, se admite el formato DEB y se proporcionan herramientas para automatizar el cambio de marca y la modificación de paquetes de reconstrucción. Incluir el sistema se puede utilizar para crear distribuciones arbitrarias basadas en Ubuntu y Debian.
Hoy estamos agregando la siguiente etapa de transparencia para nuestros procesos de compilación al liberar el acceso anónimo de solo lectura a nuestro sistema de compilación. Esto permite que cualquier persona vea qué paquetes se están creando en este momento, cuándo se creó un paquete en particular, cuándo falla la construcción de un paquete y todos los registros asociados con el proceso de construcción para todos y cada uno de los paquetes.
Las compilaciones se prueban con el sistema de integración continua de Jenkins. El código fuente de los paquetes que se crean se descarga del repositorio de Git.
Para todos, el acceso anónimo al sistema de compilación de AlmaLinux está abierto, lo que permite realizar un seguimiento de todas las etapas de la compilación de la distribución. A través de la interfaz proporcionada, se puede determinar qué paquetes se están construyendo actualmente, cuándo se creó el paquete de interés y qué paquetes no se pudieron construir.
Para el análisis, se encuentra disponible un registro de compilación completo con detalles a nivel de paquetes individuales. Actualmente, el acceso está limitado a monitorear el sistema, pero el plan es lanzar el control de acceso basado en roles (RBAC) a fines de julio y permitir que los colaboradores y mantenedores de la comunidad construyan sus propios paquetes en ALBS.
En el futuro, también se espera que admita la verificación de compilación mediante el servicio CodeNotary, soporte para el servicio de compilación COPR, soporte para espacios de nombres para proporcionar a los proyectos y organizaciones la infraestructura para construir sus paquetes y preparación de herramientas para automatizar la compilación y publicar imágenes de máquinas virtuales y contenedores.
Además de construir la distribución, ALBS también se usa para generar y publicar actualizaciones correctivas (erratas) y firmar paquetes digitalmente.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.