2008-09-26 17 views
9

Actualmente utilizamos un script de configuración y configuración enrollado a mano y un script de integración continua enrollado a mano para construir e implementar nuestra aplicación. Estoy buscando formalizar esto de alguna manera con un sistema de terceros diseñado para estos fines.¿Cuál es la diferencia entre Phing y PHPUnderControl?

He examinado antes a Phing, y entiendo que es básicamente como Ant. Pero, mi experiencia Ant es algo limitada, así que eso no me ayuda mucho. (La mayoría del trabajo de Java que he hecho se acaba de implementar como un archivo jar).

He examinado Cruise Control antes, y entiendo que phpUnderControl es un complemento para CC. Pero, Phing dice que también funciona con CC. Entonces no estoy claro en la superposición aquí. ¿Necesito tanto Phing como phpUnderControl para trabajar con CruiseControl, o son mutuamente excluyentes?

Lo que necesito es exactamente algo que puede:

  • Salida fuente del SVN
  • Instalar la base de datos del archivo SQL
  • generar algunos archivos de configuración local de una serie de plantillas y un archivo ini
  • Ejecutamos todas nuestras pruebas de unidad (actualmente ST, pero es fácil de convertir a PHPUnit) y enviamos un correo electrónico al equipo de desarrollo si se rompe alguna prueba (con un seguimiento de la pila)
  • Generar AP Me documentación de la aplicación y ponerlo en algún lugar
  • ejecutar un informe de cobertura de la prueba

Ahora, tenemos casi todo esto de una forma u otra. Sin embargo, sería bueno tener todo automatizado y agrupado en un solo proceso.

Respuesta

8

phing está escrito en PHP, donde phpUnderControl agrega soporte para proyectos PHP a CruiseControl y usa phing o ant en el back-end para analizar el archivo build.xml y ejecutar comandos.

Acabo de configurar CruiseControl y phpUnderControl y ha funcionado muy bien. Comprueba mi SVN, lo ejecuta a través de phpDocumentor, PHP_CodeSniffer y PHPUnit cada vez que hacemos un check in. Dado que todo está basado en el archivo build.xml, puede ejecutar casi cualquier software que desee a través de él.

+0

Usted no quiere dar un ejemplo de eso, ¿verdad? :) –

+0

Lo haría, pero ya no tengo mi archivo de compilación: P Mucha gente está buscando usar Jenkins en este momento: http://jenkins-php.org/ – dragonmantank

+0

Impresionante: no estoy seguro de si debería preguntar esto aquí, pero quizás podrías poner una edición u otra información sobre Jenkins vs. PhpUnderControl vs. Phing? –

2

Estoy seguro de que mucha gente va a decir esto por el tiempo que haya escrito esto, pero ...

Yo sé que no es PHP, pero estamos encontrando Capistrano sólo el trabajo para este tipo de cosas. Realmente es una excelente pieza de software.

2

Hemos estado usando Phing, y el costo para configurarlo ha sido muy bajo; es muy fácil de aprender incluso si no conoces a ANT. He tenido muy malas experiencias con CruiseControl (inestabilidad, yendo al azar), así que me gusta la simplicidad de Phing. Además, es fácilmente extensible usando PHP (en caso de que tenga una tarea personalizada que no admite de fábrica).

+0

Me gusta también. –

Cuestiones relacionadas