2009-10-30 13 views
9

¿Cuál es una buena forma de implementar aplicaciones de Catalyst en un servidor de producción? Actualmente, simplemente tengo un script de despacho FastCGI en la raíz del repositorio y cuando quiero actualizar el código del servidor, presiono la rama hacia el servidor. Esto es bastante simple, pero no perfecto. Si el código no supera las pruebas en la máquina del servidor (por ejemplo, debido a dependencias insatisfechas), me queda una aplicación rota. ¿Cómo despliega sus aplicaciones Catalyst? ¿Tienes una mejor manera?¿Cuáles son las mejores prácticas para implementar una aplicación Catalyst en un servidor de producción?

Respuesta

10

Una combinación de un proxy de carga-equilibrador y dos aplicaciones de flip-flop fastcgi que se ejecutan alternativamente como aplicaciones de producción y puesta en escena sería su mejor opción. ¿Qué servidor web estás usando? Si pasa a ser Lighttpd, a continuación, echar un vistazo a estos enlaces:

+0

Lamentablemente estoy usando Apache en una máquina de alojamiento compartido, lo que significa que no tengo muchas opciones, pero gracias por la sugerencia de todos modos. – zoul

2

Para tratar el tema dependencias insatisfechas, Puedo usar un script que se ejecuta svn export para todo el árbol de aplicaciones en un directorio independiente, establece el entorno de forma adecuada y luego se ejecuta:

perl -MMyApp -e '{print "OK"}' 
if [ $? -ne 0 ] 
then 
    echo "MyApp failed compile, not installing." 
    exit 1 
fi 

Eso es suficiente para garantizar que los módulos instalados en dev estén disponibles antes de reciclar Apache y/o FastCGI. Una vez que tiene éxito, el código exportado se mueve a su ubicación final.

Cuestiones relacionadas