Tanaka on Rails

行動・努力・俯瞰

Herokuでアプリケーションをデプロイする

Herokuとは?

Herokuを使用すると、Ruby、Node.js、JavaPythonClojureScala、Go、PHPで記述されたアプリケーションをデプロイ、実行、管理できます。

Webアプリケーションに必要なインフラをまとめて提供してくれるものと考えればOK。

設定方法

※Herokuはすでに登録してあることを前提としている。

HerokuではデータベースがPostgresを使用できる。
そのため、開発・テスト環境と本番環境で別々にする必要がある。

Gemfile

group :development, :test do
 gem ‘sqlite3'
end
〜
group :production do
  gem 'pg'
end

$ bundle install --without production
ローカルでは本番環境のgemを導入する必要はないため--without productionをつける。

config/database.yml

production:
  <<: *default
  adapter: postgresql
  encoding: unicode
  pool: 5

と変更する。

Herokuを使う

$ brew tap heroku/brew && brew install herokuでHeroku Command Line Interface (CLI)を導入。これでHerokuのコマンドを使えるようになる。
(すでに導入していたら省略可能)

$ heroku -vバージョン確認。

$ heroku loginこれを実行するとブラウザでログイン画面に遷移する。そしてログインをすればターミナルでログイン状態になる。

$ heroku create アプリ名でアプリ名を指定できる。
これを実行した際に…
Image from Gyazo
上記のようなエラーが発生してcreateできなかった。
よくよくメッセージを見ると…
Image from Gyazo
$ bundle lock --add-platform x86_64-linuxを実行するように指示されている。
これはherokuのbundlerとローカルでのbundlerのバージョンが異なるためエラーが起こったよう。
そのため上記を実行し、変更内容をコミットして再度push、そして改めてcreateをすれば無事実行できる。

$ git push heroku masterでコードをHerokuにpush。

$ heroku run rails db:migrateで本番環境のデータベースを設定。

$ heroku openでブラウザに遷移してアプリが起動できるようになる。

独自ドメイン取得

上記の手順で進めていくとドメイン名はhttps://アプリ名.herokuapp.comとなる。
独自のドメインを取得する方法としてお名前.comなどで設定をすることができる。

参考URL

https://devcenter.heroku.com/articles/how-heroku-works
https://qiita.com/m6mmsf/items/fb8a8672df98bdb59c9c
https://www.onamae.com/domain/navi/dns_controll/result