1

일부 환경 변수를 설정하는 데 사용하려는 응용 프로그램을 시작하는 데 사용되는 스크립트가 있습니다. 이것은 S3 버킷의 중요한 env 변수를 암호화하여 앱 앞에로드 할 수 있도록하기 위해서입니다.Elastic Beanstalk bash 입력 스크립트가 환경 변수 (노드 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 

결과는 변수가 설정되어있는 환경의 none입니다 : 여기 내 스크립트 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