每日构建(Daily build)或每夜构建(Nightly build)是在每天进行最新版本程序的构建流程。编译首先可以确保所需依赖项的存在,其次可以进行测试确保无程序错误的存在。每日构建也通常被公开发布以接收对最新特性的反馈。在此语境中的构建一词是编译并链接所有构成程序的文件的结果。这种严谨流程在许多程序员为程序的同一部分编写代码的大型组织中极其重要。进行每日构建可确保开发者可以继续工作并对在完成工作的最后一天出现的新程序错误有着一定了解。
每日构建通常包括一系列测试,有时被称为冒烟测试(英语:Smoke testing (software))(Smoke test)。包含这些测试是为了确定哪些特性在最新的构建版本中损坏。每日构建的重要一环是在项目发展中进行新测试与修订测试。
虽然在20世纪90年代时,每日构建认为是软件开发过程中的最佳实践,但目前已有其他作法可以取代此方法。持续整合可在几乎所有持续基础上运行,且有着自源代码最新更改后大约20到30分钟的典型循环周期。诸如CruiseControl(英语:CruiseControl)或Hudson一类的持续整合服务器持续监测源代码控制系统。当检测到新更改后,服务器将使用诸如Ant或Maven的构建工具重新构建。现代的最佳实践中将它作为持续测试(英语:Continuous testing)的一环,使得单元测试与更为广泛的功能测试(相比构建过程需要更长实践)得以在每次构建上按它期限所允许的频率重新运行。