Внешние настройки Run для приложения Grails - PullRequest
0 голосов
/ 07 января 2019

Есть ли способ вывести конфигурацию запуска для конфигураций среды с приложениями Grails 3? Я знаю, что есть аргументы конфигурации запуска, которые позволяют запускать их приложения в среде dev, prod, test и т. Д., Но мне было интересно, есть ли переменная, например, "grails.env", которую я могу изменить в Свойства, YAML, config или другой файл, который можно прочитать во время выполнения и который сделает это для меня.

Это просто для того, чтобы избежать путаницы между тестируемым приложением и выполнением в одной настройке / среде (физической среде, такой как мой локальный компьютер), а затем передаваемой другому лицу или команде для запуска в другом месте. Цель состоит в том, чтобы сконфигурировать или установить эту переменную так, чтобы команда запуска / индивидуум не должны были знать или изменять команды запуска.

Я знаю, как настроить среду с помощью командной строки и в intelliJ и Eclipse. Мне интересно, есть ли способ по умолчанию это, возможно, в файле, который читается вместо этого. Спасибо

1 Ответ

0 голосов
/ 09 января 2019

Я не уверен, что вас здесь смущает, но позвольте мне попробовать и посмотреть, смогу ли я указать вам правильное направление

Из документации здесь: http://docs.grails.org/latest/guide/conf.html#environments ваше приложение может быть доставлено в виде файла war-пакета для целевого пользователя, который должен быть протестирован, и файл war может быть создан с любой из конфигураций среды

grails test war

Поскольку команда может быть запущена в консоли, вы можете запустить ее с системными свойствами, такими как:

grails $ENVIRONMENT war

Надеюсь, это поможет

Обновление 2

По умолчанию запускаемое приложение grails запускается в среде dev, но вы можете принудительно запустить среду, выполнив

grails $env run-app

Если вы хотите, чтобы некоторые конфигурации по умолчанию запускались при использовании команды run-app, вам следует убедиться, что конфигурация не находится в блоке среды ни в application.yml, ни в application.groovy

Example of configuration in the environment block:
-----------------------------------------------------
environment{
     development{
               appConfig{
                      ishybrid = true
               }
     }
}
Example of configuration not in any environment block:
-------------------------------------------------------
appConfig{
      ishybrid = true
}
environment{
      development{
               //other configs
      }
}

Таким образом, в основном от того, что вы исключаете из конфигурации блока среды, будет то, что будет настроено как конфигурация по умолчанию для запуска вашего приложения.

Надеюсь, это поможет лучше?

...