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설정과 포트를 추가한다.
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를 클릭하여 설치한다.
🔧 실제로 DB가 생성되었고 접속할수 있는 상태가 되었다.
접속정보는 Heroku Postgres를 클릭하여 Heroku Data에서 확인가능하다.
data.heroku