我正在尝试加快我的构建速度,并正在寻找一些关于如何这样做的想法。我目前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 服务器。整个过程似乎对它产生了相当大的影响。
您能想到的任何其他可能的瓶颈我都会添加到列表中。
有哪些解决方案可以减少我的构建时间?