2015-02-12 3 views
2

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

Grails войны (строит производственную войну)

или вы можете создать среду -специфический войны файл, используя

Grails тест войны

Теперь, что я имею трудности с пониманием, если я построить военный файл, используя grails war, но разворачивайте его до тестовой среды (где -Dgrails.env = test), файл войны, построенный с использованием grails war команда запускается удачно, набирая ** тест ** настройки среды (например, вытягивание данных из теста urls вместо prod-ссылок).

Мой вопрос: какой смысл строить военный файл с помощью команды окружения конкретного (т.е. зачем использовать Grails испытания войны когда война файл построен с использованием Grails войны работает везде.?).

Я пропустил что-то очевидное?

ответ

4

Причина использования среды заключается в том, что вы можете использовать код в своем приложении, который подключается к процессу сборки и изменяет полученную WAR на основе среды. Например, повторно настройте некоторые фильтры в web.xml, например. Это точка расширения. Вы можете использовать его, если вам нужно.

+0

Право. Я это понимаю. Но, в мире граалов, один помещает в специальные блоки среды в Config.groovy или Datasources.groovy – Stealth

+0

См. Правки для ответа на переконфигурирование web.xml. –

+0

спасибо. Есть ли место, где я могу получить дополнительную информацию об этом? – Stealth

1

Grails обладает тремя автоматическими средами: dev, test, prod. существует несколько значений для разных «скриптов», например. run-app работает dev, test-app запускает тест, Война строит войну за прод. они доступны для удобства и делают изсмысл ежедневных шаблонов использования для разработчиков. например при тестировании значение по умолчанию является in-mem db.

Вы также можете добавить больше окружений, как вы сочтете нужным. Например. наличие окружения staging или integration является общим, поэтому, предоставляя такой env (возможно, только некоторые изменения конфигурации или db), вы можете легко создать файл войны для сервера , который вы используете для своей команды QA.

Другой случай использования просто построить Dev войну, так как там может быть что-то странное с войной на сервере, и вы просто должны вести войну против , что нечетное 6.x кот в реальной жизни окружающей среды, но с настройкой dev на ваш дБ.

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

И в качестве последнего шага вы по-прежнему имеете доступ к окружающей среде в своих собственных крюках scripts/_Events.groovy, где вы можете, например. drop или добавить что-то, , но это имеет смысл только для этой точной среды (например, отбросить некоторые банки, так как они уже на сервере).

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

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