C9의 프로젝트를 Heroku로 옮기는 법

Project release(deploy) : C9 to Heroku

C9는 서버를 열고, 서버 마스터가 웹브라우저를 끄는 등으로 C9을 떠나면 약 1-2시간 후에 서버가 닫힌다는 단점이 있습니다.

이를 보완하고, 더 긴 시간동안 서버를 유지시켜주는게 있는데 그것이 바로 'Heroku'라는 서비스 입니다.

사실, 직접 이 사용법에 대해 수필할까 하다가, 벌써 자세하면서도 잘 설명하신분이 계셨습니다..

Heroku 사용법에 대해 집필하신분의 링크를 남기고, 개인적으로 겪었던 오류에 대해 소개하고자 합니다.

참고로 기본적으로 제공되는 서비스에 대해선 무료이며, 용량은 500MB 제한입니다.


C9 → Heroku 연동 법 : http://wantknow.tistory.com/61

레일즈에 postgre DB 환경이 설치되신분은 바로 아래 과정을 따라하면 되지만, 아직 레일즈에 Postgre DB가 안깔리신분은 위 Tistroy 블로그로 가셔서 반드시 Postgre DB 설치를 하신 후, 따라하시기 바랍니다.

  • 다음 명령어를 터미널에 하나씩 순서대로 입력
git init
heroku login

git 저장공간을 생성시키고, heroku에 로그인을 한다. (만약 heroku login이 안먹힐 경우 아래 오류사례를 참고.)

  • 헤로쿠에 로그인 후 아래 명령어들을 차례대로 입력합니다.
heroku create
git add .
git commit -m "init"
git push heroku master

만약 자신의 heroku 저장공간이 있을 경우, 1번째 줄 라인은 치지 마세요.

  • 그리고 이어서 헤로쿠 서버 내 DB를 Migrate를 합니다.
heroku run rake db:migrate

헤로쿠 DB DROP * migrate 하기

아래 명령어를 쳐주시면 됩니다.

heroku pg:reset
heroku run rake db:migrate

개인적으로 겪었던 현상

  • login 410 Gone

초반에 gemfile과 database.yml에서 코드 변경 후, 명령어 입력창(터미널)에

git init
heroku login

을 친 후,

Heroku 아이디와 비밀번호를 정확히 쳤음에도 다음 오류가 발생했습니다. (직접 스샷캡쳐는 못했네요..)

HTTP Error: https://api.heroku.com/login 410 Gone

이런 오류가 발생한 경우 다시 명령어 입력창(터미널)에 다음을 입력해서 시도해보세요.

sudo su
heroku login

이 과정을 처음 1번만 했을때는 안되었는데, 또 해보니까 또 뭔가 깔리더니 되더랍니다..

  • Heroku Push 실패 : Push rejected, failed to compile Ruby app.

1) Gemfile.lock을 삭제합니다.

2) 다음 명령어를 터미널에 입력합니다.

bundle install

sudo su를 쳤던 터미널 탭에 bundle install을 입력하면 없는 명령어라고 뜰 수 있습니다.

새로운 터미널 탭을 열어서 sudo su를 치지 말고 그냥 bundle install을 쳐주세요.

※ 이 때 Gemfile.lock이 다시 생겨납니다.

3) 다시 명령어 입력창(터미널)에 아래 내용을 입력해서 Heroku에 자신의 프로젝트를 push 합니다.

git add .
git commit -m "Heroku init"
git push heroku master
  • Heroku push 주소 변경을 원한다면..

1) 기존의 heroku push 삭제

git remote rm heroku

2) 새로운 heroku Remote(자료가 전송(Deploy)될 헤로쿠 저장소) 지정▲ settings 메뉴에서 'Heroku Git URL'의 주소를 아래 명령어 입력창에 같이 입력.

git remote add heroku 자신의Heroku주소

헤로쿠에 올려진 자료들은 외부에서는 어떤 자료가 올라왔는지 파일 목록들을 보지는 못합니다.

(즉, Rails 파일 중 AWS 계정 등이 적힌게 있더라도 외부에서 해당 파일을 열람해서 확인 불가.)

참고

1) 오류 해결(login 410 Gone) : https://stackoverflow.com/questions/34080518/cannot-login-to-heroku

2) 오류 해결(Heroku Push 실패) : https://stackoverflow.com/questions/15737296/heroku-push-rejected-failed-to-compile-ruby-rails-app

3) Heroku 업로드법 블로그 참고 : http://wantknow.tistory.com/61

4) 또다른 Heroku 연결 강의 : http://blog.naver.com/lyhy0310/220688670204

results matching ""

    No results matching ""