Elastic Beanstalk bash入口脚本不会设置环境变量(Node JS)

时间:2017-01-09 20:47:42

标签: bash amazon-web-services environment-variables elastic-beanstalk

我有一个用于启动我的应用程序的脚本,我也想用它来设置一些环境变量。这样我就可以加密S3存储桶中的敏感环境变量并在应用程序之前加载它们。这是我的脚本start.sh

#!/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启动配置会在某些时候擦除它们。

我可以在任何地方运行此逻辑以允许我设置变量吗?或者还有另一种方法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为用pm2 start传递它们你会这样做,而不是EXPORT

MY_VAR1=value1 MY_VAR2=value2 pm2 start server.js