2017-10-03 3 views
0

.env 파일에서 환경 변수를 가져옵니다 (dotenv 패키지를 사용하고 있습니다). 이 파일은 버전 제어가 아닙니다.aws 코드 빌드를 사용하여 빌드 시스템에 특정한 환경 파일을 만드는 방법

코드 파이프 라인 스테이지 codebuild를 사용하면이 .env 파일과 그 내용을 어떻게 만듭니 까?

나는 buildspec을 사용하여 .env 파일에 내용을 추가하고 추가해야한다고 생각하지만 어떻게 될지 모르겠다.

감사

답변

0

나의 제안은 dotenv 제거하고 실제 환경 변수를 사용 얻을하는 것입니다.

dotenv의 문제는 node 프로세스 내에서 단순히 process.env을 조롱한다는 것입니다. 실제로 환경 변수를 수정하지는 않습니다. 귀하의 node 프로세스 외부에서는 사용할 수 없습니다.

대신 direnv을 사용하고 로컬 개발을 위해 .env 파일을 .envrc으로 바꿉니다.

CI 및 프로덕션 환경의 경우 이제 환경 변수가 CodeBuild 프로젝트에 정의되므로 .envrc 파일이 필요하지 않습니다.

다른 각도에서 자세한 내용은 this related answer을 참조하십시오. 당신이 dotenv을 계속 사용하고자하는 경우


, 당신은 몇 가지 옵션이 있습니다

  • 스토어 S3에 .env 파일 및 빌드 과정을 검색 할 수 있습니다.
  • CodeBuild 프로젝트에 정의 된 셸 스크립트 및 환경 변수를 사용하여 .env 파일을 구성합니다.

나는 다른 사람들이있을 것이라고 확신하지만 나에게 해킹이된다.

+0

제안에 감사드립니다. env 매개 변수 저장소 아래의 buildspec에 env 정보를 저장하는 방법은 무엇입니까? – pkpk

+0

예, 링크 된 관련 답변과 정확히 일치합니다. – dashmug

1

그래서 이것은 당신이 당신의 buildspec.yml에 다음을 추가 할 수있는 첫 번째 대답의 두 번째 옵션을 복용, 실제로 간단한 스크립트입니다

phases: 
    pre_build: 
    commands: 
    - printenv > .env 

쉘 스크립트 printenv > .env 모든 것을이 출력에 필요한 모든 귀하의 프로세스 env 파일에.