Pregunta

Actualmente utilizamos un script de configuración y configuración manual y un script de integración continua manual para compilar e implementar nuestra aplicación. Estoy considerando formalizar esto de alguna manera con un sistema de terceros diseñado para estos fines.

He visto Phing antes, y entiendo que es básicamente como Ant. Pero, mi experiencia con las hormigas es algo limitada, por lo que no me ayuda mucho. (La mayor parte del trabajo de Java que he hecho se implementó simplemente como un archivo jar).

He examinado el control de crucero anteriormente y entiendo que phpUnderControl es un complemento para CC. Pero, Phing dice que también funciona con CC. Así que no estoy claro sobre la superposición aquí. ¿Necesito Phing y phpUnderControl para trabajar con CruiseControl, o son mutuamente exclusivos?

Lo que necesito exactamente es algo que puede:

  • Echa un vistazo a la fuente de SVN
  • Instalar la base de datos desde el archivo SQL
  • Genere algunos archivos de configuración local a partir de una serie de plantillas y un archivo ini
  • Ejecute todas nuestras pruebas de unidad (actualmente ST, pero fáciles de convertir a PHPUnit) y envíe un correo electrónico al equipo de desarrollo si alguna de las pruebas se rompe (con un seguimiento de pila, por supuesto)
  • Genere la documentación de la API para la aplicación y colóquela en algún lugar
  • Ejecutar un informe de cobertura de prueba

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

¿Fue útil?

Solución

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

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

Otros consejos

Estoy seguro de que mucha gente lo dirá cuando haya escrito esto, pero ...

Sé que no es PHP pero estamos encontrando a Capistrano el trabajo para este tipo de cosas. Realmente es un excelente software.

Hemos estado usando Phing, y el costo para configurarlo ha sido muy bajo; Es realmente fácil de aprender, incluso si no sabes ANT. He tenido muy malas experiencias con CruiseControl (inestabilidad: caídas 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 sea compatible de forma inmediata).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top