1

如果我错了,请纠正我,但“构建”是“编译”,并不是每种语言都能编译。持续集成涉及构建组件以查看它们是否在单元测试之外继续工作,我可能过于简单化了。但是如果您的项目涉及一种无法编译的语言,您如何执行夜间构建或使用持续集成技术?

4

2 回答 2

6

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

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

因此(自动化的)测试用例(如单元测试 - 参见PHPUnitSimpleTest - 和前端测试 - 参见Selenium)对于大型 PHP 项目来说更为重要,以确保代码的良好运行状况。

PHP 也有一个很棒的构建工具(如用于 Java 的 Ant 或用于 Ruby 的 Rake):Phing

XincHudson这样的 CI 系统只是用于自动(就像任何时候将更改签入 scm)打包你的代码,检查它是否有明显的错误,运行你的测试(简而言之:运行你的构建)并将结果报告给你的开发小组。

于 2008-09-10T12:01:40.960 回答
1

为您当前的源代码管理主干创建一个每日标签?

于 2008-09-10T11:43:36.837 回答