Enjoy Programming

Deploying to Heroku 본문

JavaScript/Node.JS

Deploying to Heroku

LEETAEEON 2021. 6. 29. 13:20

https://signup.heroku.com/

 

Heroku | Sign up

Free account Create apps, connect databases and add-on services, and collaborate on your apps, for free. Your app platform A platform for apps, with app management & instant scaling, for development and production. Deploy now Go from code to running app in

signup.heroku.com

heroku  사이트에 가서 계정을 먼저 생성하자.

 

계정생성후 create app을 통해 app을 하나 만들어준다.

이렇게 만들어졌다.

heroku에 백엔드 서버를 업로드하는 방법은 두가지가 있다.

한가지는 github 이고 다른 하나는 heroku git이다.

 

먼저 heroku git으로 업로드하고 github으로도 해본다.

heroku git을 이용하려면 heroku Cli을 설치해야 한다 그리고 제대로 되었는지 확인하려면  터미널에 heroku login을 쳐주면

확인이 된다고 한다 . 해보자~

설치완료 좀 걸린다~

 

그리고 터미널에서~~

아무키나 눌러달라고 한다~

그럼 로그인 창이 열리고 로그인 해주면~~

이렇게 ~~ 완료!

 

이제 두번째 단계로 프로젝트로 이동으 ㄹ해야한다.

d음 이미 프로젝트 폴더에 있고~ 깃도 인잇 되어있으니 마지막 명령어만 써주자

이렇게 heroku remote를 하나 얻었다. 이말은 git에서 add, commit을 하고 push를 heroku에 할 수 있다는 말이다.

 

!!!중요!!!

heroku는 오직 나의 git history만 본다는 것이다.

고로 코드 수정을 하거나 업데이트를 하고 commit을 하지 않으면 heroku에 적용이 안된다.

 

명심하고~~~ 이제 배포를 하기 전에 다른 터미널에서

heroku logs --tail의 명령어를 쳐주자~ server log를 볼 수 있다.

 

git push heroku master 명령어를 쳐주자 - git:remote를 지정한 directory에서 실행하자!~

와우 머라고 많이뜬다. node.js앱을 디텍팅 했고~  node를 다운로드 하고 설치하고있고 npm을 사용하고~~

dependency도 설치하고 있고~

최종적으로 deploy되었음을 확인 할 수 있다~!

로그를 보면~!~!

기본적으로 heroku는 npm start로 실행된다.

 

그리고 node build/init.js로 실행을 하는데 mongoDb 에러가 생긴다.

음 니코코드에서는 init.js를 못찾는 일이 생겼는데 commit을 하지 않아서 그런것 난 이미 커밋해서 push까지 했으므로~ 그 에러는 생기지 않는다. (heroku 배포시 commit을 꼭 해주고 배포하자~ 라고 말한다)

 

에러를 잘 살펴보면 mongoUrl 을 제공하라고 하는데~~ 잘생각해보묜 mongoUrl은 env 환경변수에 적어주고 process.env를 활용해서 사용했다. 그런데 env파일은 git에 커밋이 되지 않도록 ignore해주었기 떄문에 찾지 못한다.

그럼 업로드 하면되는가? 노! 절대로 안된다.

env파일에는 절대 공개해서는 안되는 secret코드들이 있기 때문에 업로드 하면 안된다.

 

이제 이걸 수정하고 db를 연결할텐데 다음포스팅에서~~~ mongoDB atlas 계정을 만들어주자

전에 이미 만들어놓았으니~~~ 암튼 atlas에서 mongoDb 데이터베이스를 얻을 수 있다고 한다.

'JavaScript > Node.JS' 카테고리의 다른 글

environment variables  (0) 2021.06.29
MongoDb Atlas  (0) 2021.06.29
build the frontend  (0) 2021.06.29
babel-cli && build  (0) 2021.06.29
백엔드에서 프론트로 정보남기기  (0) 2021.06.23