.env 파일 .gitignore에 추가해도 구동될 수 있게 하기
안녕하세요. Nerd Lee 입니다.
이번 글은 .env 파일을 어떻게 하면, github에 올려도
클라우드 서비스에서 구동이 될 수 있는 지에 대해서 알아보도록 하겠습니다.
- 환경 변수 관리하기 -
1. 설치하기
- npm을 이용하여 dotenv 라이브러리를 다운받습니다.
npm i dotenv
2. .env 파일 작성하기
- 프로젝트 폴더 최상단에 .env 라고 파일을 만들어줍니다.
그럼 process.env 라는 코드로 디렉토리에 있는 .env 파일을 읽어오는 역할을 합니다.
AWS_KEY=어쩌구 저쩌구
AWS_SECRET_KEY=어쩌구 저쩌구
3. require 또는 import로 dotenv 라이브러리 사용하기
- require 또는 import를 이용하여, dotenv를 사용하면 됩니다.
require 사용 방법
require("dotenv").config();
console.log("AWS_KEY : ", process.env.AWS_KEY);
console.log("AWS_SECRET_KEY : ", process.env.AWS_SECRET_KEY);
import 사용 방법
import dotenv from "dotenv";
dotenv.config();
console.log("AWS_KEY : ", process.env.AWS_KEY);
console.log("AWS_SECRET_KEY : ", process.env.AWS_SECRET_KEY);
- 이렇게 사용하면, .gitignore에 .env 파일을 넣어놓더라도 사용을 할 수 있게 됩니다.
위 코드 실행 시 출력 결과
AWS_KEY : 어쩌구 저쩌구
AWS_SECRET_KEY : 어쩌구 저쩌구
4. 주의사항
config() 함수를 맨 위에 호출을 해야 합니다.
console.log("AWS_KEY : ", process.env.AWS_KEY);
console.log("AWS_SECRET_KEY : ", process.env.AWS_SECRET_KEY);
require("dotenv").config();
- 위와 같이 코드를 작성하게 되면, 빈 값이 뜨게 됩니다. 그렇기 때문에 3번과 같이 위에 config() 함수를 호출을 하고 사용하시는 걸 주의하시길 바랍니다.
만약 다른 폴더에 .env를 만들었다면?
require("dotenv").config({ path: "해당 .env path 작성" });
- config() 함수 안에 object 형식으로, path : value를 작성해주셔야 사용이 가능해집니다.
5. Heroku에 env파일 적용하기
heroku-dotenv 설치
npm i -g heroku-dotenv
heroku-dotenv push 하기
heroku-dotenv push
- 이렇게 설치하고, 명령어를 입력해서 push를 하게 되면, 해당 키 값의 환경변수를 heroku 서버에 전달했다는 식의 log가 출력이 되고 사용이 가능해집니다.
이 글이 도움이 되셨다면 댓글 부탁드립니다^^
다음 글로 찾아오겠습니다!
다음 글로 찾아오겠습니다!