2011-04-14 7 views
10

He desarrollado una aplicación que utiliza el marco Symfony 2. El código de la aplicación reside en un paquete, y en mi máquina local acabo de descargar la distribución estándar de Symfony2 y agregué el paquete a la carpeta src como lo describen los tutoriales, antes de editar los archivos de configuración/enrutamiento de manera apropiada. Eso me ha servido bien desde una perspectiva de desarrollo.Despliegue/integración continua de una aplicación Symfony 2 con Jenkins/Hudson

Ahora estoy empezando a pensar en cómo manejar las dependencias de framework con respecto a la implementación en un entorno de producción/una configuración de integración continua. ¿Debo continuar como hasta ahora usando una distribución y tal vez una herramienta de compilación como Phing para verificar mi paquete y otras dependencias? ¿O debería consultar solo la fuente de Symfony de Github y mantener una "distribución" personalizada para mi aplicación?

¡Espero que alguien más haya tenido que hacer algo similar y pueda recomendar una solución que funcione con la mínima molestia!

Gracias.

Respuesta

8

¿Están sus pruebas escritas con PHPUnit? Si es así, puedes ejecutar las pruebas directamente usando hormiga, y luego ejecutar Ant de jenkins. En mi configuración, tengo un segundo proyecto que actualiza la extracción de git en nuestro entorno de prueba si la prueba se aprueba. Me encontré con un montón de problemas al pegar todo esto juntas (sobre todo en torno a claves github, permisos de usuario, entornos shell de usuario, etc.) pero las herramientas phpqa funcionan muy bien. Acabo de ver este post que parece como una guía más reciente en conseguir que todo funcione: http://edorian.posterous.com/setting-up-jenkins-for-php-projects

Tengo este proyecto 'Hola mundo' que incluye un build.xml de trabajo que debería funcionar si la hormiga y se fijan las herramientas PHP correctamente:

https://github.com/canuckistani/JenkinsTest

+0

Sí, me iba a usar PHPUnit. Eso suena como un buen enfoque para tomar, gracias. – Craig

+2

No se menciona a Symfony2 aquí. ¿Eso significa que no se necesita hacer nada más para que funcione con Symfony2? Otros marcos necesitan complementos adicionales/configuración –