Skip to content
FunCoding

Search

Search docs, Skills and MCP

发布渠道与维护流程

理解 npm 渠道、版本完整性检查、手动发布与 dry run 的作用。

This page has not been translated into English yet. The original Chinese version is shown below.

本页描述 Gemini CLI 官方仓库的维护者发布流程。正式执行前需与 release manager 协调,并具备相应仓库、注册表与发布环境权限;普通使用者按安装指南选择渠道即可。

渠道与周期

渠道npm tag官方计划
Stablelatest每周提升经过预览验证的版本
Previewpreview每周从 nightly 提升,用于提早反馈
Nightlynightly每天约 UTC 00:00 发布 main 状态

官方发布时间表为每周二约 20:00 UTC 切 stable/preview。时间是流程计划,不保证每次自动发布准点成功;周版本通常增加 minor,期间修复增加 patch。

Promote Release 将当前 preview 提升至 stable/latest,再将 nightly 提升至 preview,并通过 PR 更新 main 的后续 nightly 版本。

版本来源与一致性

流程先查 npm dist-tags 的 latest、preview、nightly 实际版本,再核对每个版本的 Git tag 和 GitHub Release 是否存在。缺少任一对应记录就停止提升,避免在不完整的前次发布上继续计算版本。

Git 分支中的版本字符串不是唯一依据。修复发布状态时,应分别核对 npm、Git tag 和 Release。

dev 与 prod

dev 发布到私有 GitHub npm 注册表,使用 @google-gemini/ 范围;prod 发布到公共 npm,使用 @google/,由 Google 的发布授权流程管理。CLI、core 和 A2A server 分别有对应包。

环境与渠道是不同字段:不能因 NPM Channel 写了 dev,就忽略 Environment 的值。官方手动流程中 Environment 默认 prod,并要求发布管理员授权。

手动发布

Release: Manual 可指定分支、tag 或完整 commit SHA。官方列出的输入包括:

  • Version:带 v 前缀的有效语义版本。
  • Ref:待发布的分支、tag 或完整 SHA。
  • NPM Channel:preview、nightly、latest 或 dev,默认 dev。
  • Dry Run:默认 true,演练时跳过真正发布。
  • Force Skip Tests:是否跳过测试,官方不建议在生产发布中使用。
  • Skip GitHub Release:是否只创建 npm 发布。
  • Environment:dev 或 prod。

非 dry run 失败时,流程会创建包含失败详情的 issue。正式发布的质量门槛见发布验收,补丁和标签回退见发布补丁。

检查打包产物

官方支持通过工作流 dry run 检查构建与打包日志,不执行 npm publish 或 gh release create。还提供本地 publish:npm 的 dry-run 示例,用于生成并检查 tarball。

dry run 会执行构建与预发布脚本,不是纯只读操作;应在适当源码工作区中检查产物。包概览与发布文档对 npm 是否单文件打包存在差异,已按固定提交的入口与依赖结构在架构说明注明。