NestJS 서버 Heroku에 배포하기(with pg)

jammanbo·2021년 7월 7일
6

서비스배포하기

목록 보기
2/2
post-thumbnail

Heroku 신규 프로젝트 생성하기

Heroku 사이트

🔧 Heroku Dashboard New 버튼을 클릭한다.

🔧 App name을 입력한다.

🔧 GitHub 버튼을 클릭하여 GitHub 프로젝트와 연결한다.

🔧 GitHub 과 연결이 되면 Connected 배지가 표시되고 원하는 브런치를 선택할 수 있다.

Enable 'Automatic Deploys' 버튼을 클릭하여 자동 배포를 활성화 하면 깃에 코드가 푸쉬되면 자동으로 배포된다.

'Deploy Branch' 버튼으로 수동 배포도 가능하다.

NestJS 배포설정

package.json의 scripts에 하기 내용을 추가한다.

  • Heroku 에서 빌드하는 명령어 추가 및 prestart 명령 추가
"prestart:prod": "rimraf dist && npm run build",
"web": "npm run start:prod"

src/main.ts 에 cors설정과 포트를 추가한다.

  • Heroku 서비스 포트(443)
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.enableCors();
  await app.listen(process.env.PORT || 3000);
}
bootstrap();

Heroku 환경변수 설정하기

🔧 Settings 탭에서 2개의 Config Vars를 추가한다.

  • NPM_CONFIG_PRODUCTION : false
  • NODE_ENV : production

배포 후 확인

🔧 Deploy 탭에서 Deploy Branch 버튼을 클릭하면 배포가 진행된다.

🔧 배포가 완료되면 오른쪽 위의 'Open app' 버튼을 클릭해서 배포된 페이지로 이동한다.

DB생성(Postgres) 및 App과 연결하기

🔧 새로만든 Heroku App DB도 추가 후 연결해보자

🔧 Resources탭에서 'Find more add-ons' 버튼을 클릭한다.

Heroku Add-ons

🔧 pg를 검색하여 Heroku Postgres를 선택한다.

🔧 Install Heroku Postgres를 클릭하여 설치한다.

🔧 연결할 App을 선택한다. 위에서 만들었던 'jammanbo-the-app-server'를 입력하고 'Submit Order Form'버튼을 클릭한다.

🔧 실제로 DB가 생성되었고 접속할수 있는 상태가 되었다.

접속정보는 Heroku Postgres를 클릭하여 Heroku Data에서 확인가능하다.

data.heroku

0개의 댓글