Comment Ubuntu gère-t-il autant d'images quotidiennes?

10

À partir de ces pages, https://cloud-images.ubuntu.com/locator/daily/ et http://cloud-images.ubuntu.com/releases/16.04/beta-2/ , Ubuntu fournit des images quotidiennes pour différentes versions ( 14.04 à 16.04), plates-formes (AWS, Azure, KVM, Vagrant ...) et architectures (i386, amd64 ...).

Cela doit nécessiter une grande automatisation. Je suis curieux de connaître l'architecture de ce type de système de construction. Y a-t-il des documents à ce sujet? Merci.

vvoody
la source
1
Cela pourrait répondre à votre question, veuillez modifier votre question si ce n'est pas le cas: askubuntu.com/questions/705552/…
Jorge Castro

Réponses:

4

Pour Ubuntu, cela se fait probablement de la même manière que pour Debian. Voici quelques informations sur le réseau Debian Autobuilder .

Voici quelques détails sur la façon de créer une image d'installation Ubuntu spécifique .

Pour Debian, pour diminuer la charge du serveur, il existe de nombreux miroirs qui fournissent par exemple les images cd construites par les principaux serveurs Debian. La plupart des miroirs sont entretenus par des bénévoles. Voici quelques doc sur: Miroirs Debian . La même chose existe pour Ubuntu: Miroirs Ubuntu

Il devrait être suffisant d'avoir un ou peut-être deux serveurs de build par architecture. Chaque build-server peut construire périodiquement les images cd pour sa propre architecture, pour toutes les plateformes, pour toutes les versions. (Lors de l'utilisation de la compilation croisée, encore moins de build-serveurs pourraient être nécessaires)

Avant de télécharger une image d'installation-cd, il existe de nombreux tests d'intégration qui doivent être exécutés afin de valider que les nouveaux packages de construction fonctionnent les uns avec les autres (voir la spécification dep8 ) Et bien sûr, il y a des tests spécifiques aux packages pendant la génération de chaque colis.

Cependant, je ne sais pas si les cd-builds eux-mêmes sont déclenchés par un script + un travail cron, ou s'ils utilisent une sorte de logiciel pour une intégration continue (par exemple Jenkins ). Ou s'ils utilisent un outil comme Linux automatisé à partir de zéro .

Alex
la source