환경변수

»

환경변수

일반적으로 우리는 코드 베이스는 하나만 관리하고, 개발, 테스트, 운영 등 여러 환경에 애플리케이션을 배포하는데요. 어느 환경에 배포하느냐에 따라서 다르게 설정해야하는 항목은 보통 운영 체제 레벨에서 환경 변수를 통해 관리하게 됩니다.

대표적인 예로, 개발 환경에서는 로컬 DB를 사용해야하는데, 운영 환경에서는 원격 DB를 사용해야하는 경우를 들 수 있습니다. 뿐만 아니라 DB password나 API key와 같은 인증 정보는 공개된 코드 저장소에 올리면 안 되기 때문에 환경 변수로 저장해놓고 사용하는 것이 일반적입니다.

시스템에 설정한 전역변수를 환경변수라고 합니다 export를 이용해 환경변수를 설정할 수 있습니다

환경변수를 이용해 API key, DB password와 같이 민감한 정보를 저장하고 관리할 수 있습니다. 그뿐만 아니라 서로 다른 PC 또는 여러 .env 파일에서, 같은 변수 이름에 다른 값을 할당할 수 있습니다.

export

// export를 입력하면 기록된 환경변수를 확인할 수 있습니다
export

// 등호 표시 앞뒤에는 반드시 공백이 없어야합니다
export 변수명=내용

echo 와 함께 $환경변수를 입력하면 환경변수의 값을 확인할 수 있습니다

export $변수명
// 내용

dotenv

npm 모듈인 dotenv 를 사용하면 자바스크립트에서 환경변수를 사용할 수 있습니다

// dotenv 설치
npm i dotenv

process.env

Node.js 내장 객체 process.env 를 이용하면 export 로 확인한 내용과 동일한 내용을 객체로 출력합니다

.env

.env 는 Node.js에서 환경변수를 영구 적용하는 방법입니다

nano .env // env 파일생성
cat .env 
환경변수=내용 // 환경변수 저장

모듈 dotenv.env 에 저장한 환경변수 조회

const dotenv = require("dotenv");
dotenv.config();
console.log(process.env.환경변수);
// 내용

참조

Node.js에서 환경 변수 다루기 (process.env)