Fuchsia 中的预构建 CPID 包

Fuchsia 项目使用了 Chrome 基础设施包部署(Chrome Infrastructure Package Deployment,CIPD{: .external})来存储和分发预构建文件。

注意:CIPD 存储不是 Fuchsia 设备的包服务器。也就是,Fuchsia 设备不从预构建的 CIPD 包中运行组件。

CIPD 包是文件的一个任意集合,它保存在远程的内容寻址存储{: .external}上,并通过 jiri{:.external} 分发至 Fuchsia checkout。同样,使用 cipd命令行工具,您可以直接下载 CIPD 包,例如,用来检查其内容。

CIPD 包通常用于分发下列文件:

  • 构建所需的主机预构建二进制文件(例如,clang 工具链)。
  • 生成于树外的 Fuchsia 预构建 ELF{: .external} 二进制文件(例如,Goldfish Vulkan ICD)。
  • 预构建 Fuchsia 归档(FAR)文件,其中包含了用于由其他团队构建的面向 Fuchsia 的软件的二进制文件和元数据(例如,chromium/fuchsia/webrunner-arm64{: .external})。

一旦您使用 Fuchsia 设置了持续集成(continuous integration,CI),Fuchsia 的 CI 系统会取得新包并通过全局整合进程将它们整合进 Fuchsia 项目。

CIPD 用户界面的最新参考实现和其他参考实现

图 1. 该 CIPD 用户界面展示了用于该 CIPD 包实例的最新参考实现和其他参考实现。

当您向 CIPD 发布您预构建包的新版本时,CIPD 商店中的最新参考实现{: .external}(latest ref)会自动指向新版。Fuchsia 的 CI 系统监视您包的 latest 参考实现。当它检测到 latest 参考实现更新时,系统会取得新包并将它整合进 Fuchsia 项目。