上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
发布工程师的角色
Google是一个数据驱动的公司,发布工程也不例外。我们有各种各样的工具提供各种各样的数据。例如,从代码修改提交到部署到生产环境一共需要多长时间(也就是发布速度),又比如统计构建配置文件中某个特性的使用率(参见文献[Ada15])。大部分这些工具都是由发布工程师设计和开发的。
发布工程师利用这些工具定义一些最佳实践,来保障软件项目可以一致地、可重复地进行发布。我们的最佳实践覆盖整个发布过程中的所有元素。例如,编译器功能开关、编译结果中的版本编号的格式、构建过程中必须执行的步骤等。确保我们的工具在默认情况下就能正确工作,并且有合理的文档作为辅助,可以让开发团队专注于功能和用户,而不需要花费时间重新发明软件发布的轮子(经常还是不圆的轮子)。
Google有很多SRE负责产品更新的安全部署过程,保障这些服务可以正常运行。为了保障软件发布流程能够满足业务需求,发布工程师与SRE紧密协作,为变更的测试进行无缝发布,以及为变更的顺利回滚等制定策略。