Как разместить файлы вне каталога развертывания приложения в AWS Elasti c Beanstalk? - PullRequest
1 голос
/ 10 июля 2020

В AWS EB, как разместить мой environment.properties (содержащий конфигурацию времени выполнения приложения, такую ​​как порт, каталог журналов, информация БД, ключи безопасности и т. Д. c.) В / var / env_config / myapp , чтобы приложение могло ссылаться на него во время выполнения?

Хотя в дальнейшем я планирую поместить этот environment.properties в безопасный каталог локальной или удаленной файловой системы без приложений, поскольку он содержит конфиденциальную информацию.

global.env = propsReader(path.join(process.env.ENV_PATH, 'env-main.properties'));

На EB я добавил свойство Environment 'ENV_PATH = / var / env_config / myapp'

EB журналы:

web: > myapp@1.0.0 start /var/app/current
web: > node src/app-main.js
web: 8266 [
web: '/opt/elasticbeanstalk/node-install/node-v12.18.1-linux-x64/bin/node',
web: '/var/app/current/src/app-main.js'
web: ]
web: /var/env_config/myapp
web: internal/fs/utils.js:230
web: throw err;
web: ^
web: Error: ENOENT: no such file or directory, open '/var/env_config/myapp/env-main.properties'

Я просто хочу развернуть свое приложение таким же образом на AWS EB или Docker, на виртуальной машине или на локальном компьютере, с указанием только свойства среды, где требуется ввод времени выполнения файлы.

1 Ответ

0 голосов
/ 10 июля 2020

Как получить доступ к Elasti c Файловая система Beanstalk для настройки моего файла .properties?

Не уверен, что вы имеете в виду под «доступом к файловой системе», но обычно вы создаете .ebextensions папка в каталоге вашего проекта. Расширения обычно используются для запущенных команд или сценариев при развертывании приложения. Для этого есть специальные разделы:

  • команды : вы можете использовать клавишу команд для выполнения команд в экземпляре EC2. Команды запускают до , приложение и веб-сервер настроены, и файл версии приложения извлекается.

  • container_commands : вы можете использовать container_commands ключ для выполнения команд, влияющих на исходный код вашего приложения. Команды контейнера выполняются после настройки приложения и веб-сервера и извлечения архива версии приложения, но до развертывания версии приложения.

Следовательно, вы можете использовать указанные выше разделы, чтобы изменить файл .properties во время развертывания вашего приложения в EB.

...