[무료로 간단] Rails 앱을 Heroku에 게시하는 방법

프로그래밍 공부 일기



2020년 8월 8일 Progate Lv.226

목표



 이미 로컬로 작성이 끝난 Rails 어플리케이션을 Heroku상에 공개한다. (이미 GitHub에 코드를 푸시했습니다)

방법



1.Heroku에 신규 등록을 한다



Heroku 공식 사이트 로부터 신규 등록을 실시한다. (무료)

2. Heroku 용 데이터베이스를 설치합니다.



Gemfile을 다음과 같이 쓴다.

Gemfile
# 開発環境、テスト環境
group :development, :test do 
  gem 'sqlite3' # sqlite3
end

# 本番環境
group :production do 
  gem 'pg' # PostgreSQL
end


 
Gemfile을 바꾸면 반영하기 위해 bundle install를 한다.

터미널
$ bundle install

데이터베이스 구성 파일( config/database.yml )을 다시 작성할 수 있습니다.

config/database.yml
# 変更前
production:
  <<: *default
  database: db/production.sqlite3

# 変更後
production:
  <<: *default
  adapter: postgresql
  encoding: unicode
  pool: 5



2.5. heroku 명령 사용 (heroku 명령을 사용할 수있는 사람은 건너 뛰고 OK)



heroku 명령을 사용하려면 heroku toolbalt라는 도구를 설치해야합니다.
여기 에서 설치할 수 있다.

아래의 명령으로 heroku 명령을 사용할 수 있는지 확인할 수 있다. (나는 Git Bash에서 갔다)

터미널
$ heroku --version

3. Heroku에 로그인



터미널 (나는 Git Bash를 이용했다)에서 로그인한다.

터미널
$ heroku login

브라우저에서 다음과 같은 화면이 열립니다.



화면의 Log In을 누르면 로그인할 수 있다. (터미널에서도 확인할 수 있다)



4. Heroku에서 앱 만들기



스스로 서비스명을 정해, 이하의 커멘드를 실행한다. 서비스 이름은 처음에는 문자로 시작하고 끝은 문자 또는 숫자여야 하며 소문자, 숫자 및 대시만 포함할 수 있습니다.

터미널
$ heroku create サービス名

앱이 만들어지면 https://サービス名.herokuapp.com/에 액세스하면 다음 화면이 나온다.



5. Heroku로 코드를 푸시



GitHub에 코드가 관리되고 있다고 전제.

터미널
$ git push heroku master

성공하면 방금전의 URL을 리로드하면 다음 화면이 나온다.



터미널
$ heroku run rails db:migrate

데이터베이스를 갱신하면 방금전의 URL로 사이트가 표시된다.

참고(파일 변경 시 명령)



터미널
$ git add  -A

$ git commit -m "メッセージ"

$ git push heroku master

$ heroku run rails db:migrate

データベースをリセット(初期化)する場合
$ heroku pg:reset DATABASE

문제점【추기】



이상의 방법으로, Heroku상 Rails 어플리케이션을 공개할 수 있었다.
그러나 carrierwave와 cloudinary를 사용하여 이미지를 게시하는 기능을 만들었지만, 이 부분이 잘 되지 않으므로 좀 더 시행착오해 보려고 한다.
Heroku에 cloudinaru를 추가 할 때 클레카 등록이 필요합니다.
[Heroku] Cloudinary 환경에서 Carrierwave로 이미지 업로드 에서 해결되었습니다!

참고문헌



좌절한 사람 필견! Heroku에서 Rails 앱을 게시하는 방법
heroku 데이터베이스 재설정 / 복원 / 재구성
Heroku에 Rails 앱을 배포하는 단계

좋은 웹페이지 즐겨찾기