У меня есть сценарий, используемый для запуска моего приложения, которое я также хочу использовать для установки некоторых переменных среды. Это значит, что я могу зашифровать чувствительные 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 вытирает их в какой-то момент.
Есть ли где-нибудь я могу запустить эту логику, чтобы позволить мне устанавливать переменные? Или есть другой путь вокруг этого?
Спасибо!
был совершенно уверен, что это будет работать, когда вы предложили, но я не могу передать переменные среды в узел или pm2, используя этот подход. Он будет работать для меня локально, но когда я запустил его на Elastic Beanstalk, переменная всегда будет неопределенной. Я собираюсь попросить AWS узнать, есть ли причина для этого. – MDalt