我想加快编译速度,希望您能提供一些建议。目前我使用Hudson
作为PHP
项目的持续集成服务器。
我使用一个Ant
build.xml文件进行构建,类似于Sebastian Bergmann的php-hudson-template
。但是由于Hudson崩溃的问题,我只运行phpDocumentor
,phpcpd
和phpUnit
。同时,phpUnit
也会生成Clover
代码覆盖率报告。
以下是可能的瓶颈:
phpDocumentor
:需要180秒。我的项目中包含了一些大型的库,例如awsninja
,DirectedEdge
,oauthsimple
和phpMailer
。我不确定是否需要为这些库开发文档,也不知道如何在build.xml文件中忽略整个子目录。phpUnit
:需要120秒。这是构建中唯一没有作为parallelTask
运行的部分。随着编写的测试越来越多,这个时间会变得越来越长。除了可能使用多个Hudson构建从机并将不同的测试套件分配给每个从机之外,我真的不知道该怎么办。phpcpd
:需要97秒。我确定可以通过忽略那些包含的库来消除一些解析和转换时间。但是不知道如何在build.xml文件中实现。- 我的服务器:目前我只使用单个Linode服务器。整个过程似乎对它造成了相当大的负担。
如果您能想到其他可能的瓶颈,我会添加到列表中。
有什么方法可以减少编译时间呢?
phpdoc -h
的输出中:-i --ignore file(s) that will be ignored, multiple separated by ','. Wildcards * and ? are ok
在我看来,如果我正在测试一个“MySQL”类,我希望使用测试数据库进行测试,因为这是功能的更真实的测试。如果我正在测试不依赖于数据库的东西,我将使用模拟数据来加快测试速度。 - Robin