-
1월 19일 - 웹 사이트 만들기(13) - eb 배포 next build 없이, node_modules이 없어도 올릴 수 있도록공부/웹 사이트 개발(끝) 2021. 1. 19. 21:26
next build 없이 배포
eb deploy 명령어를 하기 전에 next build만 하면 되지만 이런 게 은근히 신경쓰이기 때문에 개선을 해봤다.
일단 아무 텍스트를 수정하고 next build 없이 배포를 해봤더니, 당연히 수정사항이 반영되지 않았다.
eb는 기본적으로 npm run start를 하는데 현재 start 스크립트의 내용은 next stat -p 8080이다.
next start 명령어는 프로덕션 모드로 앱을 실행한다. 이때 앱은 next build를 통해 컴파일이 되어야 한다.(next start starts the application in production mode. The application should be compiled with next build first.)(아래글 참고)
start 스크립트의 내용을 아래처럼 수정을 한다.
"start": "next build && next start -p 8080",
이렇게 하면 빌드 후에 배포를 하지 않아도 알아서 빌드를 하는 것을 확인할 수 있다.
node_modeuls 없이 배포하기
이전 글을 보면 node_modules는 배포 시에 같이 올라가는데, 이렇게 할 경우 node_modules에 pakage.json에 없는 내용도 올라갈 수 있다.(테스트로 깔았던 라이브러리를 삭제하지 않는 경우 같이)
일단 elastic beanstalk 구성 -> 소프트웨어 편집 -> USE_NPM_PRODUCTION 값을 false로 추가한다.
그리고 테스트삼아 moment 패키지를 설치해본다.
npm i -S moment
npm i -D @types/moment
이렇게 설정한 후에 ebignore에 있는 gitignore내용을 삭제하고 다시 배포를 한다. ebignore에 gitignore를 삭제했기 때문에 더이상 node_modules이 올라가지 않는상황이다. 그리고 eb 기본적으로 dev 디펜던시를 설치하지 않기때문에 원래라면 에러가 발생해야 하지만 USE_NPM_PRODUCTION 환경변수를 추가했기 때문에 에러가 나지 않는다!
내일 할일은 공부계획 다시짜기.
'공부 > 웹 사이트 개발(끝)' 카테고리의 다른 글
1월 21일, 26일 - 웹 사이트 만들기(14) - eb에 github aciton로 자동배포하기 (0) 2021.01.21 1월 18일 - 웹 사이트 만들기(12) - 백엔드 .js 파일 안 보이게 하기 (0) 2021.01.18 1월 17일 - 웹 사이트 만들기(11) - 환경변수 사용해서 로컬, 프로덕션 설정 다르게 하기/주요 값을 코드에서 관리하지 않기 (0) 2021.01.17 1월 14~16일 - 웹 사이트 만들기(10) - elastic beanstalk에 배포하기 (0) 2021.01.14 1월 11~12일 - 웹 사이트 만들기(9) - reactstrap, graphql 요청, jwt 토큰 (1) 2021.01.11