A Little Each Day

note to self

Herokuの登録からRailsアプリのデプロイまで

こんにちは。本日はherokuの使い方についてです。

アプリを作ったら、いよいよ公開ということになります。

しかしながら、サーバー構築して・ドメイン設定して・・・と、アプリをデプロイするのは初心者には容易ではありません。

herokuを使えば誰でも簡単に自分のアプリを本番環境にデプロイできます。

今回はherokuの登録からアプリのデプロイまでの手順を書いていきますので、初心者を中心に誰かのお役に立てれば幸いです。

Herokuに登録

登録するのは簡単なので、今回は詳しい説明は省略します。

www.heroku.com


にアクセスして必要な情報を埋めてください。


登録したアドレスにメールがくるので、好きなパスワードを入力して登録を完了してください。

※こちらをしないと本登録にならないので気をつけてください。


heroku toolbeltのインストール

コマンドラインからherokuを操作できるように、heroku toolbeltをインストールします。

インストールはherokuのホームページかhomebrewでもできるので、今回はhomebrewの方でインストールします。

※もしhomebrewをインストールしていない場合は、過去記事を参照してください。

blog.otsukasatoshi.com


では、homebrewでheroku toolbeltをインストールしましょう。

$ brew install heroku-toolbelt
==> Downloading https://s3.amazonaws.com/assets.heroku.com/heroku-client/heroku-client-3.43.2.tgz
######################################################################## 100.0%
?  /usr/local/Cellar/heroku/3.43.2: 993 files, 6.2M, built in 11 seconds


インストールできたらバージョンを確認してみましょう。

$ heroku version
heroku-toolbelt/3.43.2 (x86_64-darwin16) ruby/2.3.1
heroku-cli/5.11.12-8ae9780 (darwin-amd64) go1.7.5
You have no installed plugins.


heroku toolbeltがインストールできたので、自分のherokuアカウントと紐付けるためにターミナルからherokuにログインしてみましょう。

この時、お手元にssh鍵があるかどうか聞かれるので、もし作成していない場合はログインする前に過去記事を参照に作成してください。

blog.otsukasatoshi.com


ssh鍵が作成できたらherokuに鍵を追加しましょう。

$ heroku keys:add


ログインして認証しましょう。

$ heroku login
Enter your Heroku credentials.
Email: 登録したメールアドレス
Password (typing will be hidden): 登録したパスワード
Logged in as 登録したメールアドレス


以上でtoolbeltのインストールとherokuへのアカウント紐付けは完了です。


Railsアプリを作成・修正する

すでにRailsアプリがあって、gitで管理されている前提です。

もし初心者の方でRailsアプリやGitの管理がわからない場合は、過去記事を参照してください。

blog.otsukasatoshi.com


herokuではPostgreSQLが推奨されていますので、本番環境で使用できるようにデータベースを変えましょう。

# Gemfile

group :production do
  gem 'pg', '0.18.4'
end
# Gemfile

group :development, :test do
  gem 'sqlite3', '1.3.11'
end


Gemfileの修正が終わったので、bundleしましょう。

$ bundle install --without production


次にデータベースの設定をしましょう。

# config/database.yml

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


以上でアプリ側の修正が済んだので、gitにcommitしましょう。

$ git add -A
$ git commit -m "heroku用に編集"


以上でアプリ側の設定は完了です。


デプロイする

いよいよherokuにデプロイしてみましょう。

まずはherokuにRailsアプリを置くスペースをつくりましょう。

$ heroku create
Heroku CLI submits usage information back to Heroku. If you would like to disable this, set `skip_analytics: true` in /Users/hogehoge/.heroku/config.json
Creating app... done, ⬢アプリ名(ランダムな文字・数字)
https://アプリ名.herokuapp.com/ | https://git.heroku.com/アプリ名.git


herokuにpushしてデプロイします。

$ git push heroku master
Counting objects: 240, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (220/220), done.
Writing objects: 100% (240/240), 7.29 MiB | 469.00 KiB/s, done.
Total 240 (delta 32), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rails
    ・
    ・
    ・
remote:
remote: Verifying deploy... done.
To https://git.heroku.com/アプリ名.git
 * [new branch]      master -> master


これでherokuにデプロイできましたが、データベースにマイグレーションをかけるのを忘れずにやりましょう。

$ heroku run rake db:migrate
Running rake db:migrate on ⬢ アプリ名... up, run.7298
   ・
   ・
   ・


以上でherokuにRailsアプリをデプロイすることができました。


確認するには以下のコマンドを打ちます。

$ heroku open


または、先程のherokuのURL(https://アプリ名.herokuapp.com/)をブラウザに打っても確認できます。



本日は以上です。