[AWS Error] Codepipeline 배포 오류(JavaScript heap out of memory)

주형(Jureamer)·2022년 2월 5일
4
post-thumbnail

코드스테이츠에서 첫번째 프로젝트 마지막에 AWS Pipeline을 이용한 자동배포를 시도했다.

이전에 실습했을 때 큰 문제없이 작동됐기에 이번에도 쉽게(?) 될 줄 알았는데 큰 코 다쳤다.

heap memory 오류가 난 모양이다.

해결 방안이 여러 개가 있었다.

첫번 째: CSS와 JS의 중복된 파일을 줄이고 정리하기

styled-component 특성상 JS파일 크기가 커지고 라이브러리도 클 수 밖에 없기에

CSS를 따로 빼거나 정리를 해야하는데 허락 된 시간이 '단 하루' 밖에 남지 않았기에 시도 할 엄두조차 안났다.

두번 째: package.json 명령어 변경

build 시에 node 사이즈를 임의로 키워주는 것이다. 이 방법은 이 사이트를 참조하여 진행했다. size의 단위는 mb라 4096은 즉 4GB의 크기를 할당하는 것이다.

하지만!! 이 방법도 소용이 없었다. 나중에는 12000(약 12GB)까지 올려봤지만 계속 heap 메모리가 부족하다는 오류가 지속되었다.(도대체 얼마의 공간을 원하는거냐!!🔥)

그렇기에 배포 자동화를 실패한 채 첫번째 프로젝트는 종료되었다..ㅠ

끗...
















이대로 끝낼 순 없어서 파이널 프로젝트 준비하는 중에 다시 한 번 방법을 찾아보았다.

그리하여 찾은 대망의 세번째 방법!

세번 째: AWS 환경변수 선언

이 부분에 대해 스택오버플로우를 찾아보다 환경변수에 지정하는 법을 찾았다.(역시 킹갓오버플로우..)

빌드 환경변수에 NODE_OPTIONS에 --max-old-space-size=???값을 지정 해 주었다. 나는 안전하게 8192(8GB)로 바로 지정해주었다.

그랬더니 드디어!! 초록색의 영롱한 '성공함' 표시를 볼 수 있게 되었다.

우리 프로젝트 사이트도 정상적으로 뜨는 것을 확인하였다!




교훈: 포기하지 않으면 방법은 있다.

Reference

profile
작게라도 꾸준히 성장하는게 목표입니다.

1개의 댓글

comment-user-thumbnail
2022년 10월 24일

안녕하세요 글을보고 도움이 많이 되었습니다.
그런데 aws build에서 heep memory 설정하고 나서
아래와 같은 오류 경험은 없으신가요??

COMMAND_EXECUTION_ERROR Message: Error while executing command: yarn build:$. Reason: exit status 1

답글 달기