1

アプリケーションを起動するためのスクリプトがありますが、それにいくつかの環境変数を設定したいと思っています。これは、S3バケツの機密エンベロープを暗号化し、アプリの前にロードすることができるようにするためです。Elastic 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 

結果は、変数が設定されている環境のいずれでもない:ここでは私のスクリプトstart.shです。 Elastic BeanstalkのUIコンソールに設定されているものはまだ設定されています。

EB起動設定の一部がある時点で消去されているように見えます。

私はこのロジックを実行して変数を設定できるのですか?それとも別の方法がありますか?

ありがとうございます!

答えて

0

私はあなたがこれよりもむしろEXPORTのようにそれを行うだろうpm2 startでそれらを渡すことだと思う:あなたはそれを提案したときに

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

が、これがうまくいくかなり確信していたが、私はノードに環境変数を渡すように見えることはできませんこのアプローチを使用してpm2を作成します。私にとってはローカルで動作しますが、Elastic Beanstalkで実行すると変数は常に定義されません。 AWSに理由があるかどうかを尋ねるつもりです。 – MDalt

関連する問題