[ Rails on Heroku ] 자주 사용하는 heroku 명령어 정리 (https://www.hahwul.com/2019/04/what-is-heroku.html) [ Rails on Heroku ] 간단한 루비 레일즈 앱 구성 및 Heroku에 배포하기 (https://www.hahwul.com/2019/04/ruby-on-rails-distribute-heroku.html) [ Rails on Heroku ] Heroku란? 빠르게 환경 구성하기 (https://www.hahwul.com/2019/04/favorite-command-heroku.html)
이전 포스팅에서 heroku 환경 세팅을 했으니 앱을 만들고 배포해봅시다. 개발은 RubyMine 으로 진행할테니 RubyMine에서 프로젝트를 하나 만들겠습니다. (vim으로 하시는분은 그냥 명령어로 구성해주시믄 됩니다)
or
|
|
Make Rails App
대충 간단하게 앱이랑 페이지 하나 만들어봅시다. 우선 컨트롤러 하나 만들어주시고..
|
|
내용을 보여줄 View도 만들어줍시다.
|
|
내용은 대충…
|
|
마지막으로 route.rb에서 view 경로를 추가해주어 페이지 접근이 가능하도록 설정해줍시다.
config/route.rb
|
|
이정도 하면 static한 페이지 구성은 끝나네요. 나중에 기능 붙이실 때 controller에 기능 넣어주시면 됩니닷. 아무튼, 로컬에서 실행하고 웹 접근하면..
잘 나오네요.
Rails app heroku에 배포
자 그럼 이제 rails app을 heroku로 배포해봅시다. 배포에 앞서 하나 꼭 알고가야할 내용이 있는데 heroku는 무료 플랜에선 기본적으로 postgresql을 지원합니다. 그러다 보니 mysql, sqlite 등 다른 db로 설정된 경우 배포 시 에러가 날 수 있습니다.
Gemfile에 pg 설치될 수 있도록 수정해줍시다.
|
|
로컬의 경우 환경 별 실행할 db도 별도로 지정해야하는데(database.yml?) heroku의 경우 배포 시 heroku가 직접 database.yml을 건드려서 설정합니다. (덕분에 우린 heroku 서버의 db password를 모르게되죠.) 그리서 별도로 설정할게 없습니다.
보통 git에서 작업할 때 이 다음 git push로 올리는데, 대신 heroku cli를 통해 heroku쪽 git으로 올려야합니다.
|
|
이렇게되면 .git 내 정보가 github가 아닌 heroku git을 바라보게 됩니다. 그다음 배포하듯이 해주시면..
|
|
했더니 루비 에러가 빡(아래에서.. solv..)
remote: ! remote: ! An error occurred while installing ruby-2.3.7 remote: ! remote: ! This version of Ruby is not available on Heroku-18. The minimum supported version remote: ! of Ruby on the Heroku-18 stack can found at: remote: ! remote: ! https://devcenter.heroku.com/articles/ruby-support#supported-runtimes remote: !
아무튼 다음 db migrate 해줍시다. (여긴 model 들어가면 필수가 되겠죠)
|
|
이름 바꾸기
로컬에서 heroku 명령으로 create할 시 임시 이름이 붙습니다. 아래 명령어로 변경이 가능합니다.
|
|
|
|
에러 해결
아까 위에서 난 에러입니다. 우선 내용을 보면 이렇습니다.
https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
|
|
아… heroku에서 Ruby의 최소 지원 버전이 2.4.6부터입니다.. 전 2.3.7에서 진행했었구요. rvm으로 2.4.6 이상으로 변경하셔서 사용하시면 됩니다. (혹시나 설치 안되셔있으면 아래 명령으로..)
|
|
rvm으로 해당 버전 설치해줍시당
|
|
하고 Rubymine의 preference , project의 phase별 ruby sdk를 2.4.6 이상으로 바꾸고 세팅해주시면 됩니다.(bundle ~~)
[ Rails on Heroku ] 자주 사용하는 heroku 명령어 정리 (https://www.hahwul.com/2019/04/what-is-heroku.html) [ Rails on Heroku ] 간단한 루비 레일즈 앱 구성 및 Heroku에 배포하기 (https://www.hahwul.com/2019/04/ruby-on-rails-distribute-heroku.html) [ Rails on Heroku ] Heroku란? 빠르게 환경 구성하기 (https://www.hahwul.com/2019/04/favorite-command-heroku.html)