0

Amazon OpsWorks를 사용하여 NodeJS 애플리케이션 서버용 스택을 구성했습니다.Amazon OpsWorks NodeJS 환경 변수

Google API 자격 증명을 정의하는 일부 환경 변수에 액세스해야합니다. 이것을 어떻게 할 수 있습니까? 나는 이미 이틀을 더 보냈다.

나는 다음과 같은 요리사의 조리법으로 끝났다는 NodeJS 해당 계정에서 실행되는 것 때문에

magic_shell_environment "GOOGLE_CLIENT_ID" do 
    owner 'root' 
    group 'root' 
    value "********" 
    mode '0600' 
end 

내가 루트 계정을 사용합니다. ownergroup 특성을 제거하면 해당 환경 변수를 자세히 읽을 수 있습니다 (기본값은 ubuntu 사용자). 그러나, 내 인스턴스에 ssh하고 echo $GOOGLE_CLIENT_ID을 루트로 입력하면 빈 문자열이 생깁니다.

또한, 출력되는 곳은 console.xxxx(...)입니까?

+0

처음 실행됩니까? 환경 변수는 두 번째 실행 때까지 설정되지 않습니다 – sethvargo

+0

구성 단계 후에 인스턴스를 한 번 다시 시작해야한다는 의미입니까? – Juljan

+0

아니요 - Chef를 처음 실행하는 동안 env 변수가 아직로드되지 않았습니다. – sethvargo

답변

0

요리 책 OpsWorksEnvy을 사용하십시오. 기본 nodejs 요리 책에 멋지게 연결되어 스택 속성에 환경 변수를 설정할 수 있습니다.

0

매우 쉽게 수행 할 수 있습니다. 다만 당신의 조리법의 정상에 뒤에 오는 선을 추가하십시오.

ENV['GOOGLE_CLIENT_ID']="YOUR_CLIENT_ID" 
1

OpsWorks에서는 이제 응용 프로그램 설정 페이지에서 최대 20 개의 사용자 지정 환경 변수를 지정할 수 있습니다. node.js 앱의 경우 process.env 객체에서 사용할 수 있습니다. enter image description here