dotenv로 환경변수 안전하게 설정 및 관리하기 (.env, .gitignore)

YoungSeo_Study.log·2022년 3월 7일
1

.gitignore이란?

.gitignore파일을 git으로 관리하지 않을 파일들을 설정해 주는 파일이므로 이 안에 있는 파일들일 gitHub에 업로드 되지 않느다.

ex) 만약 한 프로젝트를 gitHub에 올리기 위해, git commit을 작업을 한다면? gitignore파일에 적힌 파일들은 커밋이 되지 않느다. (당연히 push 올라가지도 않는다.)

.gitignore 에 .env 파일이 추가된 이유가 무엇일까요?

그 이유는 위에 적혀있듯이 .gitignore파일에 작성되어있는 파일들은 gitHub에 업로드 되지 않기때문이다.

.env 파일은 환경변수를 설정한 파일로, 남들에게 보여서는 안되는 정보들이 담겨있기에 이 파일이 깃 허브에 올라가 모두에게 중요한 정보를 노출되지 않도록 .gitignore파일에 작성하는 것이다.

예를 들어 깃허브에 프로젝트와 함께 비밀번호 등이 그대로 깃 허브에 올라간다면? 모두에게 중요정보를 보여주는 것이 되는 것이다.

이러한 환경변수 .env를 사용하려면? dotenv가 필요하다!

dotenv란?

환경 변수를 지정할 수 있는 .env 파일을 생성하고 환경변수를 관리할 수 있는 라이브러리이다.

이러한 dotenv로 .env 환경변수 파일을 구성하고 해당 환경변수를 프로젝트에서 어떻게 사용하는지 알아봅니다.

1. dotenv 다운받기

dotenv 라이브러리를 Node.js 프로젝트에 설치한다.

npm install dotenv --save
yarn add dotenv

2. 프로젝트에 .env 파일을 생성한다.

해당 프로젝트 루트에 .env하고 파일을 만들면된다.

2. .env 파일안에 환경변수 설정하는 방법

  • 변수명=설정값

DATABASE_USERNAME=유저네임
DATABASE_PASSWORD=패스워드
DATABASE_NAME='데이타베이스명'

4. 환경변수를 사용할 js파일에 dotenv를 사용하기

require로 다운받은 dotenv를 불러와서 사용하겠다 설정한다.

const dotenv = require('dotenv');
dotenv.config();

5. .env 환경변수 사용하기 process.env.

dotenv를 받아온 파일에서, .env를 사용하려면 .env에 지정했던 환경변수 앞에 process.env.붙여서 사용할 수 있다.

process.env.DATABASE_USERNAME

.env에 환경변수 DATABASE_USERNAME의 값을 "유저네임"으로 설정했었기에, 변수로 "유저네임"을 사용할 수 있는 것이다.

module.exports = class DatabaseConnector extends SingletonBase {
  constructor() {
    super();
    this.config = {
      host: 'localhost',
      user: process.env.DATABASE_USERNAME 
      password: process.env.DATABASE_PASSWORD
      database: process.env.DATABASE_NAME 
    };
    return this;
  }
profile
느리지만 조금씩 공부하는 중 입니다. 현재 3개월차 신입입니다 ><!

0개의 댓글