1

我有一个脚本用于启动我的应用程序,我也想用它来设置一些环境变量。这样我就可以加密S3存储桶中的敏感环境变量,并在应用程序之前加载它们。这里是我的脚本start.shElastic Beanstalk bash条目脚本不会设置环境变量(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

相关问题