阅读718 返回首页    go 阿里云 go 技术社区[云栖]


《配置管理最佳实践》——2.8 构建工程师的角色

本节书摘来自异步社区《配置管理最佳实践》一书中的第2章,第2.8节,作者: 【美】Bob Aiello , Leslie Sachs着,更多章节内容可以访问云栖社区“异步社区”公众号查看

2.8 构建工程师的角色

构建工程师通常需要有软件开发的背景,扎实的技术知识,一定程度的编程能力(包括 Perl, Python, Shell 和 XML),可以建立可靠、可重复的构建过程。工作中很难找到一个合适的构建工程师,因为具有很强开发背景的专业技术人员通常都更愿意做项目而不愿意写构建系统。构建工程师是一个非常有意思也很有挑战的职位。其他的开发人员很容易使用到新的技术、新的框架,而构建工程师却并不总能把前沿的技术应用到工作中去。但建立一个高质量且高效率的构建工程的确是一项十分需要创造力的工作。

在软件开发过程中,构建工程师发挥着举足轻重的作用。但是这个职位的角色随着团队的不同也会发生变化。我曾经不断地构建和发布构建来满足开发的需要。有时,开发人员会被分派一些构建工程的短期任务,例如写构建的基础架构。这就要求开发人员既了解应用程序的架构,也熟悉构建工具本身。
2.8.1 了解构建的项目
资深的构建工程师需要在精通相应构建工具的同时,深刻理解应用程序的架构。例如,我曾经用特定的 JMX 资源处理J2EE服务器接口的配置。在其他的技术中,相同的功能是由不同配置文件处理的。开发人员具备专业的知识去配置这些,但是构建工程师往往缺少这些技能,所以就需要在构建过程中明确定义出这些需求,参考构建过程文档来完成这项工作。构建工程师的工作常常要涉及很多技术。也许第一天,我深入研究C#,.NET和SQL Server 等与平台紧密相关的工具和技术。第二天,我就转向J2EE SOA、部署特定的网页和应用服务器。下一个任务也许是使用Make 构建C/C++开发的嵌入式软件,以及相关的硬件和固件。构建工程师需要有很强的技术知识,还要能和开发人员合作完成某项任务。这就要求构建工程师能快速掌握很多具有挑战性的新技术。

2.8.2 与开发人员合作
曾经遇到一个涉及 Java 对象持久层框架的项目,以前从来没有接触过。我的任务是为这个将被发布的项目写构建脚本。于是开始学习它,想快速地掌握这门技术,可还是对很多东西没有概念。在这种情况下,与开发人员合作去完成构建框架就显得很有必要了。期间也遇到了一些挑战,比如习惯了集成开发环境的开发人员,不知道如何在命令行下构建他们的应用。在这种情况下,我会设定好构建的入口和出口标准。比如,构建脚本的入口就是在开发环境中通过命令行来生成构建。这样,这个脚本就可以修改为支持QA 环境和生产环境。修改过程中最重要的事情是保证构建可靠并且可重复。

2.8.3 招募新人
招募新人最好的办法是将一个新的开发人员培养成为构建工程师。新的开发人员也许对创建可重复性构建的知识一无所知,但是这没有关系,我可以教他。只要他有相应的专业技术,哪怕没有技术,有强烈的学习意愿也是可以的。事实上,在我看来所有的开发人员,都应该在入职培训的时候了解一些构建工程的内容。这将有助于开发人员处理架构中的问题,也有助于我们发现那些真正理解构建工程和发布流程的团队。

最后更新:2017-06-05 10:01:49

  上一篇:go  《配置管理最佳实践》——2.9 架构是构建的基础
  下一篇:go  《配置管理最佳实践》——2.7 把构建做得更好