Estoy tratando de acelerar mis compilaciones y estaba buscando algunas ideas sobre cómo hacerlo. Actualmente uso Hudson
como servidor de integración continua para un proyecto PHP
.Acelerando el servidor de compilación de integración continua de PHP en Hudson CI
Utilizo un archivo Ant
build.xml para hacer la construcción, usando un archivo similar al de Sebastian Bergmann php-hudson-template
. Por el momento, sin embargo (debido a algunos problemas extraños con Hudson se bloquea de lo contrario), solo estoy ejecutando phpDocumentor
, phpcpd
y phpUnit
. phpUnit
genera Clover
informes de cobertura de código, también.
Éstos son algunos cuellos de botella posibles:
phpDocumentor
: Toma 180 segundos. Hay algunas bibliotecas grandes incluidas en mi proyecto, comoawsninja
,DirectedEdge
,oauthsimple
yphpMailer
. No estoy seguro de que realmente necesite desarrollar documentación para estos. Tampoco estoy seguro de cómo ignorar subdirectorios enteros utilizando mi archivo build.xml.phpUnit
: Tarda 120 segundos. Esta es la única parte de la compilación que no se ejecuta comoparallelTask
. Cuantas más pruebas se escriban, más tiempo aumentará. Realmente no estoy seguro de qué hacer al respecto, aparte de quizás ejecutar múltiples esclavos de compilación de Hudson y repartir suites de prueba separadas para cada esclavo. Pero tampoco tengo idea de cómo hacerlo.phpcpd
: Tarda 97 segundos. Estoy seguro de que puedo eliminar algunos análisis y tiempo de conversión ignorando esas bibliotecas incluidas. No estoy seguro de cómo hacer esto en mi archivo build.xml.- Mi servidor: En este momento estoy usando un único servidor Linode. Parece estar bastante sujeto a impuestos por todo el proceso.
Cualquier otro posible cuello de botella que pueda pensar lo agregaré a la lista.
¿Cuáles son algunas soluciones para reducir mi tiempo de construcción?
Sí, mencioné mi servidor como una posibilidad. Y eso es algo de lo que me estoy aprovechando en este momento. Solo estaba ejecutando 512 MB de Linode, así que estoy aumentando eso a 1024 MB; veremos qué diferencia hace eso. –
El hardware aparentemente fue el mayor y mejor cambio que pude hacer. Reduje mi tiempo de documentación a * 52 segundos * en total. No podría estar más feliz. ¡Gracias! –