2010-05-18 5 views
8

Я занимаюсь разработкой нескольких приложений Grails за последние пару лет. Я все чаще нахожу, что три среды грааля (dev, test, prod) недостаточны для удовлетворения моих потребностей. Чем больше «предприятий» получает ваше приложение, тем больше у вас условий.Пользовательские среды Grails?

Я предпочитаю использовать 6 условий для моего цикла разработки ...

DEVA // Мой Дев товарищей
DEVB // Команда разработчиков
CI_TEST // CI как Hudson QA_TEST команда окружающей среды // Тестирование
UAT_TEST // Клиенты тестирования среды
PROD // Производство

Im интересно, если есть способ определить пользовательские Grails среды? Я не думаю, что есть, но функция может быть удобной.

Способ, которым я обходился сейчас, - это перенаправить конфигурацию в файл свойств.

Id представьте, что это довольно распространенное требование, так как вы имеете дело с вашей средой?

ответ

18

Config.groovy и DataSource.groovy поддерживают пользовательские среды (я уверен, что большинство других файлов конфигурации также работают).

Если вы хотите, чтобы запустить приложение или упаковать его для пользовательского окр использовать

grails -Dgrails.env=myCustomEnv run-app 

Затем в Config вы бы

environments{ 
    myCustomEnv{ 
     myProp = 'myVal' 
    } 
} 

Я не мог найти страницу в руководство пользователя об этом, но мы используем их так, чтобы иметь настройки бета-версии и uat-среды.

+0

Хорошо работает, спасибо! Меня удивляет, что это не похоронено в документах. – tinny

+0

Да, если у вас есть 5 минут, было бы неплохо поднять и выпустить в JIRA от Grails, требуя от этого лучше doco. – leebutts

+0

Кстати, если вы используете несколько пользовательских окружений, не полагайтесь на Environment.current в своем коде: afaik всегда возвращает CUSTOM для всех из них. – carlosayam

0

Одним из вариантов может быть определение источника данных в DataSource.groovy для каждой из ваших сред, а затем сохранение информации о конфигурации в базе данных.

Затем вы можете добавить код в BootStrap.groovy для загрузки ваших конфигураций.

+0

Да, может быть что-то подобное. Но часть проблемы состоит в том, что существует много источников данных. Обычно один источник данных для среды, из которых есть 6 – tinny

Смежные вопросы