[Node.js] Heroku 로 Node.js 프로젝트 배포하기

Jun 25, 2019


Heroku 로 Node.js 프로젝트 배포하기


개요


  • 로컬 환경에서 현재 프로젝트 flow
    스크린샷 2019-06-25 오후 2 48 25

  • Heroku 를 통한 배포 후의 flow
    스크린샷 2019-06-25 오후 2 48 19


헤로쿠를 통해서, Node.js 로 개발한 웹 페이지를 배포한다.

헤로쿠는 GitHub Repository 를 통해서 코드를 배포하고 있고, 현재는 CI 를 적용하지 않은 상태이기 때문에, 헤로쿠와 연결해 놓은 Repo 의 Branch 가 update 될 때마다, push 로 버전관리를 해 주어야 한다.


Heroku 가입


헤로쿠 가입과, CLI 설치를 전제로 한다.

들어가기 전에, Heroku 사이트에 공식 문서 로 정리가 잘 되어 있다. 천천히 따라해보고 싶은 사람은 공식 문서를 참고하기 바랍니다.

$ heroku —version // 헤로쿠 설치 확인

$ heroku login // id, pw 입력 하면 login 완료


git 에 프로젝트 올리기


나는 이미 git repository 에 프로젝트를 올려 두어서 해당 repository 를 사용 하면 된다.


배포


바로 배포에 들어간다. 배포 할 github repository 폴더로 들어가서 아래 명령어 실행.

$ heroku create

실행 하면, remote 가 추가 될 것이다. remote 저장소 별칭이 _heroku _로 생길 텐데 이름을 변경해야, 다른 저장소와 헷갈리지 않게 관리 할 수 있다.

$ git remote rename heroku heroku-staging

그 remote 에 우리 프로젝트를 push 하면 된다.


push


헤로쿠 저장소에 푸쉬하면 배포는 끝난다. 만약 코드 수정이 들어가면 다시 push를 실시 한다.

$ git push heroku master // ‘heroku’ 는 heroku 저장소, ‘master’는 내 저장소 branch


npm start


헤로쿠가 Node 프로젝트를 실행 할 때, 쓰는 node script 가 npm start 로 설정 되어 있다.

우리는 nodemon 을 사용하기 때문에, webstorm 에서 실행 할 때, nodemon ./bin/www 으로 서버가 실행 된다.

헤로쿠에서 사용하는 스크립트로 맞추기 위해, 프로젝트의 package.jsonnodemon ./bin/www 를 일반 node 실행 명령어인 node ./bin/www 로 바꿔준다.


환경 변수


우리 프로젝트는 환경 변수, DB url, user, password 를 gitignore 해 놓았기 때문에 해로쿠 저장소에 올라가지 않는다.

따라서 해로쿠에서 환경 변수를 저장할 수 있는 탭을 사이트에서 지원한다.

  • Settings -> Config Vars

스크린샷 2019-06-25 오후 3.38.00