2010-05-18 21 views
8

He estado desarrollando varias aplicaciones de Grails en los últimos años. Cada vez veo más que los entornos de los tres griales (desarrollo, prueba, prod) no son suficientes para satisfacer mis necesidades. Mientras más "empresarial" sea tu aplicación, más ambientes tendrás.Entornos personalizados de Grails?

que tienden a utilizar 6 ambientes para mi ciclo de desarrollo ...

DEVA // Mi dev compañeros
DEVB // equipo de desarrollo
CI_TEST // IC como Hudson QA_TEST ambiente de equipo // Prueba
// Clientes UAT_TEST de entorno de
PROD // producción

Im pregunto si hay una manera de definir entornos personalizados Grails? No creo que exista, pero la función podría ser útil.

La forma en que lo estoy solucionando ahora es mediante la externalización de la configuración a un archivo de propiedades.

Imagino que este es un requisito bastante común, entonces, ¿cómo ha estado lidiando con sus entornos?

Respuesta

18

Config.groovy y DataSource.groovy son compatibles con entornos personalizados (estoy bastante seguro de que la mayoría de los otros archivos de configuración también).

Si desea poner en marcha su aplicación o empaquetarlo para un env personalizada que utilice

grails -Dgrails.env=myCustomEnv run-app 

Luego, en configuración que tendría

environments{ 
    myCustomEnv{ 
     myProp = 'myVal' 
    } 
} 

no pude encontrar una página en el guía de usuario al respecto, pero los usamos así para tener configuraciones de entorno beta y uat.

+0

, funciona bien, ¡gracias! Me sorprende que esto no esté enterrado en los documentos en algún lado. – tinny

+0

Sí, si tienes 5 minutos sería bueno plantear y emitir en Grails 'JIRA solicitando un mejor doco en esto. – leebutts

+0

Por cierto, si usa varios entornos personalizados, no confíe en Environment.current en su código: afaik siempre devuelve CUSTOM para todos ellos. – carlosayam

0

Una opción podría ser definir un dataSource en DataSource.groovy para cada uno de sus entornos y luego almacenar información de configuración en la base de datos.

A continuación, puede agregar el código en BootStrap.groovy para cargar sus configuraciones.

+0

Sí, podría hacer algo como eso. Pero parte del problema es que hay muchas fuentes de datos. Por lo general, una fuente de datos por entorno, de los cuales hay 6 – tinny

Cuestiones relacionadas