初めに
- 今回は
heroku
のデプロイについて自分が学んだことを備忘録として記載いたします。
素人が書いたものなので、仮に相違点があった場合、ご容赦いただけると幸いです。
それでは初めていきましょう!!
herokuをデプロイするのに必要な準備
1. 以下のサイトで会員登録をする
https://signup.heroku.com/jp
2. クレジットカードの登録
- クレジットカードを登録しなくてもある程度herokuを使うことができるが、クレジットカードを登録するとアプリの起動可能時間が550時間から1000時間になるので登録することをおすすめ!!
登録方法
-
ダッシュボード右上の忍者みたいなアイコンをクリック
-
Account Setting
をクリック -
最初に
profile
を記入し、その後、billing
をクリックし、Add Credit Card
をクリック -
住所、クレジットカードを入力する(住所は英語で記入する)
次にターミナルから直接Herokuアプリを作成および管理するために、Herokuコマンドラインインターフェイス(CLI)を使用する
その方法
- ターミナルに以下を入力する
brew tap heroku/brew && brew install heroku
heroku login
- これでメールアドレスとパスワードを入力できたらOKです!!
次にアプリの準備をする
- (今回はアプリがある前提で話を進めていきます)
自前のアプリをアップする時の注意事項
-
トップページを設定していること
routes.rb
の中にroot to 'コントローラー名/アクション名'
を設定すればOK -
DBは
PostgreSQL
になっているか確認
**config/database.yml
**を確認し、adapterがPostgreSQL
になっているか確認 -
公開したいアプリをGitのmasterブランチにコミット済であること
もしコミットしてない場合は、コミットする -
Github
連携、自動デプロイを行いたい方は、Github
にリポジトリを作り、プッシュする。
herokuのデフォルトDBはPostgreSQL
である。
デプロイの準備
-
herokuでアプリを公開するには、herokuアプリを作成する必要がある。
-
以下をターミナルに入力する
heroku create 自分が作ったアプリ名
【注意事項】
-
アプリ名は小文字・数字・ダッシュ(-)のみ入力可能。また、世界で誰も使用していない必要がある
-
アプリ名を指定していない場合、自動で決まる
- ここで使用したアプリ名はURLで使用される
herokuにデプロイする
(ここでは最も単純な方法を紹介)
- 以下をターミナルに入力
git push heroku master
- 上記が問題なく終わったら、以下をターミナルに入力する
heroku open
**ここでWe're sorry, but something went wrong
**というエラーが出たら、
次のコードをターミナルに入力したらどうだろうか。
heroku run rails db:migrate
(ちなみに自分も上記のようなエラーが出た時、こちらを入力したら、エラーがなくなった)
(参考)自動デプロイ方法
(参照URL)
https://qiita.com/sho7650/items/ebd87c5dc2c4c7abb8f0#%E8%87%AA%E5%8B%95deploy%E3%81%A3%E3%81%A6
-
herokuのダッシュボードの
deploy
をクリック -
deployment method
のgithubのマークをクリック -
少しすると、
Connect to GitHub
というのが出てくるので、これをクリック -
そうしたらGitHubの許可画面が出てくるので、
Authorize heroku
をクリック
これで問題がなければ、検索画面へと移行する
-
reponame
には自分のアプリのリポジトリ名を入力し、入力完了したら、Search
ボタンをクリックする -
そうしたら、自分のアプリのリポジトリ名が検索欄の下に出るのでその右にある
Connect
ボタンをクリックする
Automatic deploys
とManual deproy
が表示されたら成功
-
Automatic deploys
のところに、Wait for CI to pass before deploy
という項目があり、そこにチェックマークを付けて、Enable Automatic Deploys
を押すと、自動デプロイ設定が完了する
最後に
今回herokuのデプロイについて簡単な流れを書いたが、ミスがなければ、比較的容易にデプロイできると感じた。
ただし、git push
することを忘れたりすると、エラーでデプロイできないなどするので、git push heroku master
を行う際は、ちゃんとgit push
を忘れずにした方がいいと思った。