用途:此流程用于更新 firebase-tools 中可下载的 Pub/Sub 模拟器版本,面向维护该工具的开发或发布人员。
主要步骤:先运行 gcloud components update pubsub-emulator,确保本地已安装最新版模拟器。模拟器目录通常位于 <gcloud-install-path>/platform/pubsub-emulator,可通过运行模拟器查看输出,或根据 gcloud 安装位置推断(which gcloud 通常指向 bin 目录,platform 与 bin 同级);如有 VERSION 文件可据此校验版本。
随后将该目录打包为 zip,命名 pubsub-emulator-<version>.zip,并保证 zip 内顶层目录为 pubsub-emulator。代码预期缓存中的二进制路径为 pubsub-emulator-<version>/pubsub-emulator/bin/cloud-pubsub-emulator。
上传:使用 gcloud storage cp pubsub-emulator-<version>.zip gs://firebase-preview-drop/emulator/。如有需要,将其设为公开可读,例如用 gcloud storage objects update ... --add-acl-grant=entity=allUsers,role=READER,通常桶权限已处理。
计算元数据:用 ls -l 取字节大小,macOS 用 md5、Linux 用 md5sum 取 MD5;macOS 用 shasum -a 256、Linux 用 sha256sum 取 SHA256。
更新配置:编辑 src/emulator/downloadableEmulatorInfo.json,更新 pubsub.version、expectedSize、expectedChecksum(MD5)、expectedChecksumSHA256、remoteUrl 以及 downloadPathRelativeToCacheDir。
验证:运行 firebase emulators:start --only pubsub,确认新版本能下载并正确启动。最后在 CHANGELOG.md 添加条目,例如 '- Updated Pub/Sub emulator to version '。
限制:资料仅给出操作流程,未提供具体版本号、文件大小、校验和数值及发布时间等细节。