https://www.heroku.com/
앞서 필요한것들
- Heroku 계정
- Ruby 설치
- Bundler 설치 - gem install bundler
헤로쿠 툴벨트 다운로드 및 설치
사이트에서 운영체제에 맞는 헤로쿠 툴벨트를 다운로드하고 설치합니다.Download Heroku Toolbelt for Mac OS X
터미널 혹은 커맨드창에서
$heroku --version
입력해서 버전이 출력되면 제대로 설치된 것입니다.
헤로쿠 로그인
$heroku login이메일과 암호를 입력하여 로그인을 합니다.
Git 등록 및 Heroku 생성
헤로쿠로 배포하기위한 앱 디렉토리로 이동합니다.앱은 git에 등록되어 있어야 합니다.
되어있지 않다면 아래와 같은 과정을 거쳐야합니다.
$git init
$git add -A
$git commit -m 'init'
이제 헤로쿠에 앱을 만들고 현재 로컬 디렉토리의 git에 원격저장소 heroku 정보를 추가합니다.
$heroku create
Git remote heroku added 와 같이 출력되면 정상입니다.
만약 출력되지 않는다면 git 등록을 빼먹지 않았는지 확인해보세요.
$git config -e
하여 [remote "heroku"]와 같이 heroku 가 추가되어있는지 확인해봅니다.
Heroku로 배포
이제 git 을 이용하여 로컬저장소에 커밋된 내용을 원격저장소 heroku의 master로 push합니다.$git push heroku master
heroku에서 처리되는 내용이 출력되는데요. 에러나 경고가 나타날 수 있습니다.
이에 관해 알아보겠습니다.
sqlite3 비활성화
헤로쿠에서는 sqlite3를 사용하지 못하는듯 합니다. 기본 데이터베이스로 postgresql을 사용하므로 이에 맞도록 Gemfile 을 수정해 주어야 합니다. ( 데이터베이스 적용은 하단에서 )group :development do
gem 'sqlite3'
end
group :production do
gem 'pg'
gem 'rails_12factor'
end
Include 'rails_12factor' gem to enable all platform features
=> gem 'rails_12factor'
ruby 버전을 명시하지 않았다는 경고
=> ruby '2.0.0' # 사용중인 버전
이 외에도 다른 경고가 나올때는 참고 URL이 나오므로 확인해봅니다.
이와같이 로컬에서 수정한 내용은 반드시 git commit 해야 git push heroku master시 반영됩니다.
Gemfile 을 수정한 경우에는 bundle install 을 먼저 실행한 후에 git add, commit, push 순서로 하여야 합니다.
별문제없이 배포가 완료되면 메시지 끝부분에
https://앱이름.herokuapp.com/
와 같은 주소가 출력됩니다. 이 주소를 브라우저에서 확인해봅니다.
$heroku open
명령을 실행하면 기본 브라우저로 사이트를 확인할 수 있습니다.
$heroku logs --tail
명령을 실행하면 실시간으로 로그를 확인할 수 있습니다.
$heroku run rails console
명령을 실행하면 콘솔을 실행할 수 있습니다.
데이터베이스에 관하여
$heroku config$heroku pg
명령으로 데이터베이스 정보를 확인할 수 있습니다.
config/database.yml 을 열어서 production: 파트를 다음과 같이 수정합니다.
production:
adapter: postgresql
encoding: unicode
pool: 5
커밋, heroku 로 push 합니다.
디비를 반영하고 결과를 확인합니다.
$heroku run rake db:migrate
$heroku pg
그 외에 확인해 볼것들
- Procfile 정의
- 스케일 변경
- Provision add-ons
댓글 없음:
댓글 쓰기