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