본문 바로가기

Development/TIL

dotenv (환경변수 관리)

깃허브에 프로젝트를 업로드할 때 .gitignore 파일에 업로드를 제외할 파일 목록을 리스트업하여 관리한다.

하지만 그렇게해도 코드들에 노출되는 개인 정보들이 있을 수 있다.

예를 들면 Token을 검증하는데 사용하는 secret_key라던지

사용중인 DB의 엔드포인트, 유저, 패스워드 같은 정보들 말이다.

지금까지는 아무 생각없이 업로드를 해왔는데 노출이 되면 자칫 치명적인 타격을 입을 수 있다.

그래서 dotenv라는 라이브러리를 사용한다. 오늘은 dotenv 사용법을 정리해보려고 한다.

 

dotenv 설치

npm을 이용하여 dotenv를 설치한다.

$ npm i dotenv

 

.env 파일 생성

dotenv 설치 후 별도 설정을 하지 않으면 프로젝트의 루트 디렉토리에 위치한 .env 파일로 부터 환경변수를 읽어온다.

따라서 현재 작성중인 프로젝트 폴더 최상위 디렉토리에 .env 파일을 만들어준다.

그리고 그 안에 필요한 환경 변수를 key=value 포맷으로 작성해주면 된다.

// .env 파일

DB_HOST=localhost
DB_USER=root
DB_PASS=1234

SECRET_KEY=secretkey

 

 

.env 파일에 작성한 환경변수 불러오기

require("dotenv").config();

console.log("DB_HOST:", process.env.DB_HOST);
console.log("DB_USER:", process.env.DB_USER);
console.log("DB_PASS:", process.env.DB_PASS);

 

처음에 dotenv 라이브러리를 설치하면 .env 파일이 자동으로 생성되는 줄 알았는데 직접 만들어줘야하는 것이었다.....

아무튼 이렇게하고 .gitignore에 .env 파일을 추가하면 환경변수를 안전하게 관리할 수 있다.

앞으로 깃허브에 프로젝트 푸쉬하기 전에 꼭 환경변수 설정을 해줘야겠다!