본문 바로가기
카테고리 없음

AWS EC2 빌드시 메모리 부족 문제 해결

by takoapps 2022. 5. 24.

 

 

 

 

우분투 서버의 프론트 폴더를 빌드하던 중 Creating an optimized production build ..  까지만 진행 후

아무리 기다려도 멈춤 상태로 빌드가 진행되지 않았다.

찾아보니 빌드 멈춘 원인은 aws 메모리 부족 문제였고, 이 경우 본인의 로컬 서버에서 빌드를 진행 후 빌드 결과물인. next를

서버로 전송하여 서버를 실행하여야 한다.



1. (우분투 서버 아닌 본인의 로컬 서버에서 진행) 프로젝트에서 터미널 열고 모든 작업 처리 후, npm run build

 

2. brew install git-lfs   설치

 

여기서 git-lfs를 설치하는 이유는, git은 작은 소스코드 파일들을 위한 버전 컨트롤 시스템으로 100Mb부터는 push가 되지 않는다.

그럼에도 위에서처럼 부득이하게 대용량의 파일을 올려야 하는 경우, git LFS(Large File Storage)를 이용하여 해결이 가능하다.

 

3. 업로드 파일이 있는 경로로 이동 후 git lfs install

 

4. 위의 경로에서 본인이 업로드하고자 하는 파일을 git lfs track "파일명"으로 선택한다

 

5. git add. gitattributes

(lfs에서 트래킹 하는 파일 정보는. gitattributes를 통해서 관리되어 함께 add 해줘야 함)

 

6. git add "파일명" ex) git add ". next"

 

7. git commit -m "커밋 메시지"

 

8. git push origin main

 

git lfs가 정상적으로 적용된 경우, git push와 pull이 가능해진다.

 

+

git add "파일명"에서 [hint]가 생기며 오류가 나는 경우, (메시지 기록을 깜빡함)

. gitignore에 파일명을 입력하였을 확률이 매우 매우 높다.

. next의 경우, 파일 자체 용량이 매우 커서 아마 대부분. gitignore 파일에 입력하여 저장소로 업로드를 제한해두었을 것이다.

그러니. gitignore에 "파일명"이 입력된 커맨드를 지우고 다시 git add "파일명"을 입력하면 정상 작동이 된다.

 

위의 과정을 모두 진행하였다면?

실패했던 배포를 로컬에서 배포하여 저장소에 올려두었으니 그대로 pull 하여 가져오면 된다.

 

다시 우분투 서버에 접속하여 본인이 빌드하고 싶은 경로 이동 후, git pull로 최신 코드로 업데이트 후,

npm run을 하면 우회(?)하여 빌드가 가능하다.

 

 

 

 

 

 

Ref. https://newsight.tistory.com/330

반응형