上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
第8章 发布工程
作者:Dinah McNutt
编辑:Betsy Beyer、Tim Harvey
发布工程(Release Engineering)是软件工程内部一个较新、发展较快的学科。简单来说,这个学科专注于构建和交付软件(参见文献[McN14a])。发布工程师通常对源代码管理、编译器、构建配置语言、自动化构建工具、包管理器和安装器等非常了解(甚至是这方面的专家)。他们的技能横跨很多领域:开发、配置管理、测试集成、系统管理,甚至用户支持。
为保障服务可靠运行需要可靠的发布流程。SRE需要保证二进制文件和配置文件是以一种可重现的、自动化的方式构建出来的。这样每一次发布才是可以重复的,而不是“独特的雪花”(俚语,意指没有两片雪花是完全相同的)。对发布流程的任何改变都应该是有意为之,而不是意外之举。SRE关注从源代码到部署的整个流程。
发布工程是Google内部的一项具体工作。发布工程与产品研发部门的软件工程师(SWE),以及SRE一起定义发布软件过程中的全部步骤—包括软件是如何存储于源代码仓库中的,构建时是如何执行编译的,如何测试、打包,最终进行部署的。