LoginSignup
4
2

More than 3 years have passed since last update.

Herokuを用いたRailsアプリのデプロイ

Last updated at Posted at 2020-05-13

Herokuのアカウントを作る

まずは以下のページからHerokuのアカウントを作りましょう。
https://signup.heroku.com/login
すると、登録したメールアドレス宛にHerokuから認証用のメールが送信されるので、リンクをクリックしてリンク先でパスワードの設定を行います。
スクリーンショット 2020-05-13 20.24.20.png
これで登録は完了です。

アプリの設定を変更する

アプリ側の設定をHerokuに合わせて変更します。

・Gemの追加
HerokuではPostgreSQLというデータベースを使うため、pgというgemをインストールする必要があります。
本番環境だけにインストールできればいいので、group :production do ~ endの間に記載します。

group :production do
  gem 'pg'
end

.database.ymlの修正
上述のようにHerokuではPostgreSQLを使用しているので、database.ymlも本番環境(production)の記述を変更します。

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

GitHubに反映

設定ファイルの修正が完了したため、GitHubのマスターブランチに反映しましょう。
スクリーンショット 2020-05-13 20.59.04.png

Herokuを自分のPCにインストール

以下のURLからHerokuをインストールしましょう。
私はMacを使っているのでHomebrewを使ってインストールします。
https://devcenter.heroku.com/articles/heroku-cli
0

・インストールコマンド実行

% brew tap heroku/brew && brew install heroku

・インストール完了後、herokuのバージョンを確認することで、herokuがインストールされているか確認。
ここでherokuコマンドが見つからないというエラーメッセージが出るので、パスを通してあげます。

 % heroku -v
zsh: command not found: heroku

パスを通す

~/.zshrcにherokuコマンドのパスを追記します。

vim ~/.zshrc

~/.zshrcに以下を追記

export PATH=$PATH:/usr/local/Cellar/heroku/7.39.5/libexec/bin

sourceコマンドでzshrcの内容を反映する。

% source ~/.zshrc

これでherokuコマンドが実行できるようになります。

% heroku -v
heroku/7.41.1 darwin-x64 node-v12.16.2

・あまりお勧めしないやり方
以下のようにechoコマンドで.zshrcにパスを追記することもできますが、>>ではなく>で.zshrcの内容を全て上書きしてしまう可能性があるため、個人的にはvimで編集することをお勧めします。

echo 'export PATH=$PATH:/usr/local/Cellar/heroku/7.39.5/libexec/bin' >> ~/.zshrc

PCからherokuにログインする

loginコマンドを実行するとブラウザが起動しHerokuのログイン画面に飛びます。
ログインを実行後、ターミナルに戻って作業を再開します。

% heroku login
heroku: Press any key to open up the browser to login or q to exit: 

スクリーンショット 2020-05-13 22.07.08.png

ターミナルからの操作でHerokuのアプリを作ります。
ここで作ったアプリにGithubからコードを反映することでデプロイできるようになります。(アプリ名がURLになるので、名前は一意となるものにしてください)

% heroku create アプリ名

デプロイ

以下のコマンドでデプロイしましょう。

% cd アプリを格納しているディレクトリ
% git push heroku master

おそらくこんな感じのエラーが出ます。

% git push heroku master
fatal: 'heroku' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

.git/configを修正することでエラーを回避できます。

% vim .git/config

以下を追記することで"heroku"がどこのURLを指すのか指定します。
アプリ名は上述の「heroku create アプリ名」で作成したアプリを記述してください。

[remote "heroku"]
  url = https://git.heroku.com/アプリ名.git
  fetch = +refs/heads/*:refs/remotes/heroku/*

それでは再度デプロイ。

% git push heroku master

デプロイ完了後はマイグレーションを行います。

% heroku run rails db:migrate

ここまで正常終了すればHerokuにアプリが上がっているはず!
ターミナルで「heroku open」を入力するか、https://アプリ名.herokuapp.com/にアクセスして確認しましょう!

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2