이번 시간에는 Heroku를 사용해서 Nestjs 프로젝트를 배포하는 방법을 알아보도록 하겠습니다.
Heroku에 Nestjs를 배포하는 시간은 단 10분만에 가능합니다.
먼저 간단한 Nestjs 프로젝트를 생성한후 Nodejs 서버를 돌려볼 수 있는
NestJS 프로젝트를 헤로쿠에 배포하려고 합니다.
환경 준비
- Nest CLI 설치
- Heroku App 생성
- Heroku CLI 로그인
먼저 Nestjs 프로젝트를 생성합니다.
$ nest new heroku-nest
nestjs를 설치하지 않았다면 아래 명령어로 Nest를 먼저 설치해주세요
$ npm install -g @nestjs/cli
Heroku에서 구동시 필요한 포트도 수정해줍니다.
// src/main.ts
async function bootstrap() {
const app = await NestFactory.create(AppModule);
await app.listen(process.env.PORT || 3000);
}
Heroku 구동시 호출하는 스크립트 설정을 추가합니다.
// package.json
…
“prestart:prod”: “rimraf dist && npm run build”,
“web”: “npm run start:prod”,
…
// Procfile 생성
web: npm run start:prod
Procfile이 설정되었다면 package.json에서 web 스크립트는 삭제해도 됩니다.
Heroku 실행 환경 설정을 해줍니다.
# typescript 컴파일시 devDependency가 필요함
$ heroku config:set NPM_CONFIG_PRODUCTION=false
$ heroku config:set NODE_ENV=production
로컬에서 실행해 확인합니다.
$ heroku local web
정상적으로 구동된다면 Heroku Git에 커밋해줍니다.
$ heroku git:remote -a HEROKU_APP_ID
$ git add .
$ git commit -m "make it better"
$ git push heroku master
배포된 사이트를 확인해주세요
$ heroku open
참고자료
'백엔드 > nestjs' 카테고리의 다른 글
[NestJs] NestJs란? (0) | 2022.03.01 |
---|