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

有帮助吗?

解决方案

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

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

因此(自动化)测试用例(如单元测试 - 请参阅 PHP单元 或者 简单测试 - 和前端测试 - 请参阅 )对于大型 PHP 项目来说更加重要,以确保代码的良好健康。

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

CI 系统,例如 新科 或者 哈德逊 只是用来自动(就像任何时候将更改签入 scm 一样)打包您的代码,检查它是否有明显的错误,运行您的测试(简而言之:运行您的构建)并将结果报告给您的开发团队。

其他提示

创建当前源代码控制主干的每日标签?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top