从这些页面中,https://cloud-images.ubuntu.com/locator/daily/和http://cloud-images.ubuntu.com/releases/16.04/beta-2/,Ubuntu 每日提供不同版本(14.04 至 16.04)、平台(AWS、Azure、KVM、Vagrant……)和架构(i386、amd64……)的镜像。
这肯定需要很高的自动化程度。我对这种构建系统的架构很好奇。有没有关于这方面的文档?谢谢。
答案1
对于 Ubuntu,其实现方式可能与 Debian 类似。以下是有关Debian Autobuilder 网络。
以下是有关如何构建特定的 Ubuntu 安装程序映像。
对于 Debian,为了减少服务器负载,有许多镜像,例如提供由主 Debian 服务器构建的 cd 映像。大多数镜像由志愿者维护。以下是一些文档:Debian 镜像.Ubuntu 也存在同样的情况:Ubuntu 镜像
每个架构拥有一个或两个构建服务器就足够了。每个构建服务器都可以定期为其自己的架构、所有平台、所有版本构建 cd 映像。(使用交叉编译时,可能需要更少的构建服务器)
在上传安装程序 CD 映像之前,需要运行许多集成测试,以验证新建的软件包是否可以相互配合(请参阅规范dep8) 当然,在构建每个包时都会进行特定于包的测试。
但是我不知道 cd-builds 本身是否由脚本 + cron 作业触发,或者它们是否使用某种软件进行持续集成(例如詹金斯)或者如果他们使用类似从头开始自动化 Linux。