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