组建自动化(英语:Build automation,又称构建自动化、自动化构建、构建系统)指自动创建软件组建的一组进程,包括将计算机源代码编译成二进制码(英语:binary code)、将二进制码包装成软件包以及运行自动化测试。
组建自动化原先是通过创建makefile来完成的,如今则主要使用两大类工具完成组建:
根据自动化程度的不同有如下分类:
组建自动化工具允许自动化简单且重复的任务,这些工具会通过以正确的、特定的顺序执行任务并运行每个任务来计算如何达到目标。其又可分为任务导向工具与产品导向工具:任务导向工具用以描述网络在特定集合任务方面的依赖性;产品导向工具则根据其生成的的产品来描述事物。
虽然组建服务器早在持续集成服务器出现之前就已存在,但组建服务器(英语:build servers)通常与持续集成服务器(英语:continuous integration servers)在英语上是同义词。组建服务器也可以并入软件生命周期管理(ALM)工具以及应用发布自动化(英语:Application release automation)(ARA)工具中。
服务器类型
自动化是透过许多的编译器来达成,可能是工具在每一个步骤执行不同的编译器,或是用分布式编译。分布式组建流程需要有机器智能,了解代码的相依性,以便用正确的顺序进行分布式组建。
组建自动化是朝向持续交付(CD)和DevOps的第一步。组建自动化若结合持续集成(CI)、软件部署、应用程序发布自动化(英语:application-release automation)等程序,可以让组织渐渐的创建软件交付的最佳实务。
在软件开发项目中,导入组建自动化的好处如下: