반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- scrollTo 안됨
- 식별자 결정
- Apollo Server
- SAGA 패턴
- 환경 레코드
- Webpack
- Architecture
- Babel
- Apollo Client
- SSR
- redux saga
- CSR
- task-definition
- restore scroll position
- NextJS
- 세션스토리지
- 비동기 처리
- nvm
- 무한 스크롤
- ESLint
- 변수 섀도잉
- 스코프체이닝
- 실행 컨텍스트
- 타입스크립트
- 마이크로 프론트엔드
- Next.js
- Typescript
- useRef
- graphql
- Spa
Archives
- Today
- Total
minguri brain is busy
AWS ECS에 Next.js 애플리케이션 스테이징으로 배포 시 환경 변수 구성하기 본문
반응형
문제상황
- 현재 프로젝트의 배포 환경은 3가지(dev, staging, production)
- process.env.NODE_ENV에 따라 해당 환경에 맞는 config값을 사용하고 있음
- 작업 시 빌드 스크립트에 따라 dev, staging, production으로 띄우면 각각 환경에 맞는 confing 값을 잘 불러옴
- 그러나 실제 배포된 staging에서 staging.config 값이 아닌 production.config 값을 셋팅함
- staging 이라는 환경도 배포가 된 상황에서 아무런 셋팅이 없으면 production 상태이기 때문
- ECS에 배포된 staging 애플리케이션의 환경 변수 구성을 어떻게 할 수 있을까?
해결
- staging을 띄우는 빌드 스크립트에서 NODE_ENV=staging 값을 주입하고 이 값으로 publicRuntimeConfig를 구분하고 있으니 배포 환경에서도 staging이라는 환경 변수를 주입해주면 되지 않을까?
- 현재 프로젝트에서의 task-definition 파일은 task-definition.json과 task-definition-stg.json로 나누어져있다.
- staging 용 task-definition 파일에서만 아래와 같이 환경 변수 설정한다.
- 배포된 스테이징 환경에서 staging.config에 셋팅된 값을 잘 가져오는 것 확인!🙆♀️
{
"containerDefinitions": [
{
"name": "container-name",
"image": "docker-image",
"environment": [
{ "name": "NODE_ENV", "value": "staging" },
],
// 다른 컨테이너 설정...
}
],
// 다른 task definition 설정...
}
반응형
'FE > 개발환경' 카테고리의 다른 글
| 프론트엔드 개발환경의 이해: 웹팩(기본) - 1 (0) | 2022.08.10 |
|---|---|
| 프론트엔드 개발환경의 이해: NPM (0) | 2022.07.31 |
Comments