0

纠正我,如果我错了,但“构建”是一个“编译”,并不是每个语言编译。持续集成涉及构建组件,以查看它们是否继续超越单元测试,这可能是过于简单化了。但是如果你的项目涉及一种不能编译的语言,你如何执行夜间编译或使用持续集成技术?你能用PHP脚本或解释型语言“建立”吗?

回答

6

嗯......我将“建筑”定义为“准备,打包和部署软件系统的所有工件”。编译为机器码只是构建过程中的许多步骤之一。其他人可能会从scm-system中检查最新版本的代码,获取外部依赖关系,根据软件被部署到的目标设置配置值,并运行某种测试套件以确保您有“工作/运行构建“,然后再实际部署。

“Building”软件可以/必须为任何软件完成,与编程语言无关。解析语言具有句法或结构(意思是调用具有错误参数的方法等)错误的“缺点”,通常只会在运行时检测到(如果您的构建中没有单独的步骤来检查此类错误,例如与PHPLint)。

因此(自动)测试用例(如单元测试 - 见PHPUnitSimpleTest - 和前端 - 测试 - 见Selenium)都是比较重要的大型PHP项目,以确保代码的身体健康。

有一个伟大的构建工具(如Ant进行Java或耙为Ruby)为PHP太:Phing

CI-系统,如XincHudson只是用于自动的(如随时更改签入SCM )打包你的代码,检查它是否有明显的错误,运行你的测试(简而言之:运行你的构建)并将结果报告给你的开发团队。

1

为您当前的源控制中继线创建每日标签?