Search
🪙

환경 변수 지옥에서 벗어나기 (feat. dotenv-vault)

URL
생성 일시
2024/03/02 03:37
최종 편집 일시
2024/03/02 03:38
태그
Node.js
파일과 미디어
안녕하세요, 밀당 프론트엔드팀 김지우입니다.
이번 글에서는 밀당 프론트엔드팀이 환경 변수 관리의 복잡성 증가로 인해 어떤 어려움과 불편함을 겪었고, 이를 어떻게 개선했는지 소개하려고 합니다.

밀당의 개발 환경과 환경변수

기존 밀당 프론트엔드팀의 환경 변수 관리 방식이 실제 개발 생산성에 얼만큼 영향을 미쳤는지 들여다보기 위해서 밀당의 개발 프로세스를 먼저 간략히 설명해보겠습니다.
피쳐 기능 개발이 시작되면 기본적으로 로컬환경에서 작업을 하고, feature, develop, stage 환경을 거쳐 프로덕션에 릴리즈합니다. 아래 나열한 것과 같이 서비스와 개발 환경의 종류가 많아지고 있고, 피쳐 기능 개발 외에 버그 수정 및 빠른 핫픽스 대응을 위해서도 상황에 맞는 신속한 환경 변수 세팅이 필요합니다.
환경 변수 종류와 갯수 (*블로그 작성일 기준)
배포하는 서비스 : CRM, CMS, LMS, B2C, SchoolPT, 기타.. 대략 5개
프론트엔드 내부 환경변수, 서드파티, 백엔드 API 엔드포인트 : 대략 5 ~ 13개
개발환경 : 로컬, feature, develop, stage, production(밀당PT, 스쿨PT).. 대략 5 ~ 6개
베타서비스, PoC(Proof of Concept)나 UT(유저테스트) 등을 위해서 develop, stage 환경으로 세팅해서 확인이 필요한 경우

기존 환경 변수 사용 방법