openSUSE:ALP/BuildDesign
简介
openSUSE:ALP 的构建方式与之前的 openSUSE/SUSE 发行版有很大不同。
本指南旨在成为一份动态文档,解释当前的 openSUSE:ALP 构建结构以及构成 ALP 平台的各种 OBS 项目的功能。
OBS 项目
openSUSE:ALP:Workbench:<workbench_version> 该项目有效地执行与 Factory Rings 0 和 1 相同的工作,作为冻结的软件包副本,用于引导其他所有内容。这些软件包是从 openSUSE:Factory 冻结的。
openSUSE:ALP:Source OBS prjconfig 的主项目
openSUSE:ALP:Source:Standard ALP 支持多种代码库速度的概念。“Standard”是 SUSE 当前正在构建的默认配置,但未来可能会有更快或更慢的速度。openSUSE 也可能有自己的配置。我完全可以想象 Tumbleweed 最终会演变成类似 SUSE:ALP:Source:Fast 的东西。该项目包含源代码,但不进行构建。
openSUSE:ALP:Source:Standard:Core:<core_version> 核心系统软件包(链接自 SUSE:ALP:Source:Standard)和要在多个 ALP 产品中使用的通用容器在此处构建。
openSUSE:ALP:Products:<product_name>:<product_version>[:<product_minor_version>] 产品定义和模式就位于此处。每个产品都构建于 SUSE:ALP:Source:<velocity>:Core:<core_version> 项目之上。允许特定于产品的其他软件包。理想情况下,软件包应默认提交到并链接自 :Core:(以便在产品之间共享软件包),但可以例外。对于仅限 openSUSE 的产品,这些例外情况可能很常见。特定于产品的容器、VM 镜像等都在此处定义和构建。
openSUSE:ALP:Products:<product_name>:<product_version>[:<product_minor_version>]:Update 如果产品将使用类似 SLE/Leap 的维护流程进行维护,那么这将是该流程的 Update 项目。
理论示例
- openSUSE:ALP:Source:Standard:1.0 - 'Standard' ALP 代码库的第一个版本(常规发布)
- openSUSE:ALP:Source:Rolling - openSUSE:Factory 的 ALP 等效版本(滚动发布)
- openSUSE:ALP:Products:Server:1.0 - openSUSE 1:1 复制的 SUSE ALP Server 1.0 产品(在 SUSE:ALP:Products:Server:1.0 中开发)