코드스테이츠에서 첫번째 프로젝트 마지막에 AWS Pipeline을 이용한 자동배포를 시도했다.
이전에 실습했을 때 큰 문제없이 작동됐기에 이번에도 쉽게(?) 될 줄 알았는데 큰 코 다쳤다.
heap memory 오류가 난 모양이다.
해결 방안이 여러 개가 있었다.
styled-component 특성상 JS파일 크기가 커지고 라이브러리도 클 수 밖에 없기에
CSS를 따로 빼거나 정리를 해야하는데 허락 된 시간이 '단 하루' 밖에 남지 않았기에 시도 할 엄두조차 안났다.
build 시에 node 사이즈를 임의로 키워주는 것이다. 이 방법은 이 사이트를 참조하여 진행했다. size의 단위는 mb라 4096은 즉 4GB의 크기를 할당하는 것이다.
하지만!! 이 방법도 소용이 없었다. 나중에는 12000(약 12GB)까지 올려봤지만 계속 heap 메모리가 부족하다는 오류가 지속되었다.(도대체 얼마의 공간을 원하는거냐!!🔥)
그렇기에 배포 자동화를 실패한 채 첫번째 프로젝트는 종료되었다..ㅠ
끗...
이대로 끝낼 순 없어서 파이널 프로젝트 준비하는 중에 다시 한 번 방법을 찾아보았다.
그리하여 찾은 대망의 세번째 방법!
이 부분에 대해 스택오버플로우를 찾아보다 환경변수에 지정하는 법을 찾았다.(역시 킹갓오버플로우..)
빌드 환경변수에 NODE_OPTIONS에 --max-old-space-size=???값을 지정 해 주었다. 나는 안전하게 8192(8GB)로 바로 지정해주었다.
그랬더니 드디어!! 초록색의 영롱한 '성공함' 표시를 볼 수 있게 되었다.
우리 프로젝트 사이트도 정상적으로 뜨는 것을 확인하였다!
안녕하세요 글을보고 도움이 많이 되었습니다.
그런데 aws build에서 heep memory 설정하고 나서
아래와 같은 오류 경험은 없으신가요??
COMMAND_EXECUTION_ERROR Message: Error while executing command: yarn build:$. Reason: exit status 1