노드.구성 파일 및 변수를 관리하는 스마트한 방법

3 월 24,2018·3 분 읽기

별도의 노드를 만드는 연습을 찾습니다.다른 환경(개발,테스트,스테이징 및 프로덕션)에 대한 구성 변수를 관리하는 구성 파일.

그래서 하나의 단일 노드로 모든 환경에 대한 구성 변수를 관리하는 솔루션으로 끝났습니다.설정 파일.

먼저 구성을 만들어 보겠습니다.아래와 같이 루트/구성 폴더에 있습니다. 아이디어는 개발이 기본 환경이며 모든 구성 변수를 포함합니다. 기본 개발 환경에 있는 기본 구성 변수 값을 재정의하려는 경우에만 다른 환경에서 구성 변수를 반복합니다.

보시다시피 테스트,스테이징 및 프로덕션 환경은 모두 구성 및 데이터베이스 구성 변수를 재정의합니다. 또한 스테이징 및 프로덕션 환경도 노드 _포트 구성 변수를 재정의합니다.

다음으로 실제 논리를 구현하는 몇 가지 코드를 작성해 보겠습니다. 구성 만들기.아래와 같이 루트/구성 폴더에 있습니다. 이 코드:

  1. 루트/구성에서 찾은 제이슨을 읽습니다.파일.
  2. 기본 설정을 구성에 있는 개발 노드로 설정합니다.제이슨
  3. 환경 설정을 구성에 있는 해당 환경 노드로 설정합니다.환경 변수 값을 기반으로 합니다.
  4. 로다쉬의 병합 메소드를 호출하여 기본 및 환경 구성의 결합에 대한 최종 구성을 설정합니다..
  5. 는 최종 설정 값을 사용하여 전역 변수를 설정합니다.
  6. 의 값을 기록합니다.

마지막으로 루트/서버를 만들어 보겠습니다.이 모든 것을 브라우저에서 테스트 할 수 있습니다. 아래 코드는 자체 설명입니다. 노드 환경 변수에 대해 다른 값을 설정하여 테스트하십시오.

다음은 서버에서 노드 환경 변수를 설정하여 테스트한 스크린샷입니다.개발 및 스테이징. 이 경우 개발 환경에서는 구성,노드 및 데이터베이스의 값이 재정의됩니다.

개발 환경에 대한 로그 출력

개발 환경용 브라우저 출력

스테이징 환경에 대한 로그 출력

스테이징 환경의 브라우저 출력

위의 코드를 복제/다운로드 할 수 있습니다. 여기 내 깃허브 저장소에서.

보너스로,아무것도 구성에 키 또는 암호와 같은 비밀을 포함에서 당신을 중지하지 않습니다.제이슨 단순히 구글 클라우드 플랫폼의 클라우드 키 관리 서비스(킬로미터)와 같은 엔터프라이즈 급 암호화 솔루션을 사용하여 소스 저장소에 밀어 전에 휴식을 암호화합니다. 그리고 당신의 마음에 드는 컴퓨터/카드뮴 공구를 사용하여 각 배치에 그것을 해독하십시오.

구글 클라우드 플랫폼의 클라우드 키 관리 서비스를 사용하여 내 블로그 게시물을 확인하십시오.

행복한 코딩!

답글 남기기

이메일 주소는 공개되지 않습니다.