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