Fuchsia 项目使用 Chrome 基础架构软件包部署 (CIPD) 来存储和分发预构建文件。
CIPD 软件包是存储在远程内容寻址存储区中的任意文件集合,并通过 jiri
工具分发到 Fuchsia 结账区。此外,您也可以使用 cipd
命令行工具直接下载 CIPD 软件包,例如用于检查其内容。
CIPD 软件包通常用于分发以下文件:
- 托管 build 所需的预构建二进制文件(例如 Clang 工具链)。
- Fuchsia 预构建的 ELF 二进制文件在树外生成(例如 Goldfish Vulkan ICD)。
- 预构建的 Fuchsia 归档文件 (FAR) 文件,其中包含由其他团队为 Fuchsia 构建的软件的二进制文件和元数据(例如 chromium/fuchsia/webrunner-arm64)。
设置与 Fuchsia 的持续集成 (CI) 后,Fucsia 的 CI 系统会提取这些新软件包,并通过全局集成流程将它们推送到 Fuchsia 项目中。
当您将预构建软件包的新修订版本发布到 CIPD 时,CIPD 存储区中的 latest
ref 会自动指向新修订版本。Fuchsia 的 CI 系统会监控软件包的 latest
引用。如果检测到 latest
引用已更新,系统会提取新软件包并将其滚动到 Fuchsia 项目中。