Fuchsia 中的预构建 CIPD 软件包

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 界面中显示的最新参考和其他参考
图 1. CIPD 界面会显示用于此 CIPD 软件包实例的最新引用和其他引用。

当您将预构建软件包的新修订版本发布到 CIPD 时,CIPD 存储区中的 latest ref 会自动指向新修订版本。Fuchsia 的 CI 系统会监控软件包的 latest 引用。如果检测到 latest 引用已更新,系统会提取新软件包并将其滚动到 Fuchsia 项目中。