1

У меня есть сценарий, используемый для запуска моего приложения, которое я также хочу использовать для установки некоторых переменных среды. Это значит, что я могу зашифровать чувствительные env vars в ведро S3 и загрузить их перед приложением. Вот мой сценарий start.sh:Эластичный сценарий ввода bash basan не устанавливает переменные среды (Node JS)

#!/bin/bash 

# Load the S3 secrets file contents into the environment variables 
eval $(aws s3 cp s3://secret-bucket-location/integration-secrets.txt - | sed 's/^/export /') 

#I have also tried exporting variables here to see if my app picks them up 
export TEST_ENV_VAR=testing 

pm2 start server.js 

Результат не является ни одна из переменных окружения установлены. Тем не менее, все еще настроены в консоли Elastic Beanstalk UI.

Кажется, что часть конфигурации запуска EB вытирает их в какой-то момент.

Есть ли где-нибудь я могу запустить эту логику, чтобы позволить мне устанавливать переменные? Или есть другой путь вокруг этого?

Спасибо!

ответ

0

Я думаю, что передать их pm2 start вы могли бы сделать это так, а не EXPORT:

MY_VAR1=value1 MY_VAR2=value2 pm2 start server.js 
+0

был совершенно уверен, что это будет работать, когда вы предложили, но я не могу передать переменные среды в узел или pm2, используя этот подход. Он будет работать для меня локально, но когда я запустил его на Elastic Beanstalk, переменная всегда будет неопределенной. Я собираюсь попросить AWS узнать, есть ли причина для этого. – MDalt

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