Auf diesen Seiten, https://cloud-images.ubuntu.com/locator/daily/ und http://cloud-images.ubuntu.com/releases/16.04/beta-2/ , bietet Ubuntu tägliche Bilder für verschiedene Releases ( 14.04 bis 16.04), Plattformen (AWS, Azure, KVM, Vagrant ...) und Architekturen (i386, amd64 ...).
Dies muss eine große Automatisierung erfordern. Ich bin neugierig auf die Architektur dieser Art von Build-System. Gibt es dazu Dokumente? Vielen Dank.
Antworten:
Für Ubuntu wird es wahrscheinlich ähnlich gemacht wie für Debian. Hier einige Infos zum Debian Autobuilder Netzwerk .
Hier einige Details zum Erstellen eines bestimmten Ubuntu-Installationsabbilds .
Um die Serverlast zu verringern, gibt es für Debian viele Spiegel, die z. B. die von den wichtigsten Debian-Servern erstellten CD-Images bereitstellen. Die meisten Spiegel werden von Freiwilligen gewartet. Hier ein Dokument über: Debian Mirrors . Gleiches gilt für Ubuntu: Ubuntu Mirrors
Es sollte ausreichen, einen oder vielleicht zwei Build-Server pro Architektur zu haben. Jeder Build-Server kann die CD-Images für seine eigene Architektur, für alle Plattformen und für alle Versionen regelmäßig erstellen. (Bei Verwendung der Cross-Kompilierung werden möglicherweise noch weniger Build-Server benötigt.)
Vor dem Hochladen eines Installer-CD-Images müssen viele Integrationstests ausgeführt werden, um zu überprüfen, ob neu erstellte Pakete miteinander funktionieren (siehe Spezifikation dep8 ). Natürlich gibt es während des Builds paketspezifische Tests von jedem Paket.
Ich weiß jedoch nicht, ob die CD-Builds selbst durch ein Skript + einen Cron-Job ausgelöst werden oder ob sie eine Software für die kontinuierliche Integration verwenden (z . B. Jenkins ). Oder wenn sie ein Tool wie automatisiertes Linux von Grund auf neu verwenden .
quelle