Я пытаюсь немного ускорить свои сборки и искал некоторые мысли о том, как это сделать. В настоящее время я использую Hudson
в качестве сервера непрерывной интеграции для проекта PHP
.
Я использую файл Ant
build.xml для сборки, используя файл, аналогичный php-hudson-template
Себастьяна Бергманна. В данный момент, хотя (из-за некоторых странных проблем с отказом Hudson в противном случае) я использую только phpDocumentor
, phpcpd
и phpUnit
. phpUnit
также генерирует отчеты о покрытии кода Clover
.
Вот некоторые возможные узкие места:
phpDocumentor
: Занимает 180 секунд . В мой проект включены несколько больших библиотек, таких как awsninja
, DirectedEdge
, oauthsimple
и phpMailer
. Я не уверен, что мне действительно нужно разрабатывать документацию для них. Я также не уверен, как игнорировать целые подкаталоги, используя мой файл build.xml. phpUnit
: Занимает 120 секунд . Это единственная часть сборки, которая ' s не запускается как parallelTask
. Чем больше тестов будет написано, тем дольше будет увеличиваться это время. На самом деле не уверен, что с этим делать, кроме, возможно, запуска нескольких ведомых устройств сборки Hudson и раздачи отдельных наборов тестов каждому ведомому устройству. Но я также не знаю, как это сделать. phpcpd
: Занимает 97 секунд . Я уверен, что могу сократить время синтаксического анализа и преобразования, игнорируя эти включенные библиотеки. Не знаю, как это сделать в моем файле build.xml. Любые другие возможные узкие места, о которых вы можете подумать, я добавлю к списку.
Какие есть решения для сокращения времени сборки?