我们每月都会发布一个新版本的 Chrome,以确保全球数十亿用户和企业都能获享最新的功能、安全更新和性能升级。现在,我们可以通过更快的发布周期更快地进行改进和解决问题,这意味着您将更频繁地收到最新动态。
我们与 Chrome 发布团队的技术计划经理 Ben Henry、Krishna Govind、Harry Souders、Srinivas Sista 和 Brandon Heenan 进行了对话,深入了解了他们如何与世界各地的 Google 团队协调,确保每次发布都顺利进行。
问:您的团队如何为每次 Chrome 发布做好准备?
Ben:首先,我们的团队由 7 名全职人员组成,分布在两个主要地理区域。我们认为,准备发布版本就像火车时间表一样。我们使用四个发布渠道(Canary 版、开发者版、Beta 版和稳定版)来为 Chrome 重大版本更新做准备。随着流程的推进,每个渠道都会有更多 Chrome 用户。这样,我们就可以获得有关 Chrome 稳定性和性能的反馈,以便尽早发现产品存在的质量问题。我们会密切关注用户和开发者在社交媒体、新闻报道和 bug 报告中所说的话,以便及时发现我们可能遗漏的问题。然后,我们的工程师和产品经理团队可以根据这些反馈来改进功能。
然后,我们会进行几轮测试来检测任何质量问题,首先使用持续运行的自动化系统,然后由测试团队手动查找 bug。
问:您能否分享一个近期外部开发者提供的反馈示例,说明该反馈对确保您发布尽可能完善的版本有何帮助?
Srinivas:我们始终依靠 Web 开发者提供反馈,并抢先采用新 API 或 iOS 版 Chrome 的规范变更等功能。在从两位数更改为三位数(99 到 100)这一重大里程碑变更之前,我们与 Web 开发者分享了相关准则,以便在实际更改之前进行测试,确保我们采纳了他们的反馈,更重要的是,不会破坏他们的网站。这有助于我们成功推出变更,而 M100 的发布没有出现任何重大问题。
问:如果您在 Chrome 更新发布期间发现 bug 或安全问题,会怎么样?
Krishna:我们会确保逐步向用户发布新版 Chrome。新版本不会立即推送给 100% 的用户。如果发现严重 bug,我们会暂停发布受影响的版本,以限制其影响。然后,我们会与全球的 Chrome 团队协调,尽快开发修复程序并修补 Chrome。验证此修复程序后,我们会构建新版 Chrome,然后重新开始发布流程。最终,大多数用户都不会遇到此问题,因为该问题会在面向用户发布之前得到解决。对于安全问题,我们遵循 Project Zero 披露政策。因此,当有漏洞在野外被积极利用时,我们的目标是在 7 天内向稳定版渠道用户发布修复程序。
问:为了确保 Chrome 版本适合企业使用,是否需要执行其他工作?
Brandon:我们的首要目标之一是确保 Chrome 始终是一个稳定可靠的平台,能够满足依赖于我们的众多企业的需求。这意味着,企业可以使用他们希望员工利用的最新功能,同时避免工作可能受到任何干扰。由于企业的需求各不相同,任何服务中断都可能给企业造成损失,因此 Chrome 为我们的工程团队和产品团队提供了具体的指导,我们会审核每项功能的发布,确保每项 Chrome 版本都“适合企业使用”。这包括在 Chrome 企业版版本说明中提前告知公司重要变更。此外,为进一步保障安全,IT 管理员可以使用企业政策来控制许多更改。因此,如果他们更倾向于进行内部测试或选择停用新功能,可以自行选择。为防止意外问题,我们专门设计了用于模拟企业环境(例如,在加入 Active Directory 网域的设备上运行 Chrome)的测试基础架构,用于测试所有 Chrome 版本。
Chrome 还为学校和企业提供了一系列更新控制功能。管理员可以控制 Chrome 的具体版本、回滚到旧版本,并利用我们提供全方位支持的扩展稳定版本渠道。如需了解详情,请参阅此技术文档。如果管理员希望全面了解其设备群的更新状态,可以使用 Chrome 浏览器云管理中包含的版本报告。
问:您的团队日后是否打算进行任何更改?
Harry:我们一直在寻找各种方法,为用户和开发者改进 Chrome,尤其是在缩短发布周期方面。这样一来,用户将会看到更稳定的 Chrome,并且 bug 修复速度更快,还能使用新功能。我们还知道,我们的工程师和产品经理可以通过加快功能开发速度、缩短迭代周期和提高代码质量来提高开发速度。假设一位产品经理想要面向所有 Chrome 用户发布一项功能。从功能“完成”到正式发布,最多可能需要 16 周的时间。只需缩短几个星期的发布周期,我们就可以显著缩短发布新功能的准备时间。