<발단>
- 비밀 설정 정보 관리 :
DB connection, API Key 등 SCM(Source Code Management)으로 공유시, 비밀 정보가 노출되기에 이를 방지하기 위함
<.env 메커니즘>
- 연결 정보가 포함된 파일 분리
- 분리시키 파일을 .gitignore을 통해 버전관리에서 제외
- *주의* .env는 암호화되어 있지 않아 조회 수정이 가능 => .gitignore 이유
<특징 : .json 과의 비교>
[.json]
(1) parsing 필요
(2) express에서 set & get 형식으로 작업 필요
- module로 인한 scope 불일치가 원인
- data 추가할 적마다 set 필요
- Function을 쓰기 위해 req parameter 혹은 require가 필요
[.env]
(1) 배포시 Shell로 변경 가능하여 수정 용이 & ShellScript를 통해 SSH, CI/CD 활용 가능
(2) express 에서 NODE_ENV라는 환경 변수를 통해 개발 및 운영 환경에 따른 설정정보를 달리 호출 가능
댓글