[Rails]Devise搭載のRailsアプリケーションをherokuでデプロイする場合の一連の流れ
最近、新しいウェブアプリケーションをherokuでデプロイしました。
そのアプリケーションは僕が大学院生になってからずっっっと長い間構想していたもので、普段の研究や受注開発中のwebサイト、また自分が開発しているメインのアプリケーション開発の合間合間にカチャカチャと作っておりました。
とっても忙し中頑張って開発したので、最低限の機能でもオープンできたことはかなり嬉しかったです。
社会的有益性はかなりあると思うので、世間の皆様の役に立つサービスになればいいなぁと願うばかり。
さてさて、今回は片手間のアプリケーション開発だったので、なるべくコード量を少なく!という理念でログインやCRUD処理はなるべくgemなどを使って作業量を少なくしておりました。
特に、アプリケーションの肝であるログイン機能はみなさんお馴染みのgemである”Devise”を初めて組み込みました。
今までは自分でセッションコントローラーを作っていたのですが、今回Deviseを使ってみてその便利さにはびっくり。
ログイン機能が実質半日以下で完成しました。
ただ、herokuにpushした際に以下の2点で少しトラブったので、その時の対応策を健忘録としてここに記しておきます。
ルーティングをしっかりと決めておく
Deviseのデフォルトの設定では、ルートのページに飛ぶように設定されていますので、ルーティングを正しく設定していないとherokuでエラーになります。
自分のアプリケーションのトップページに
1 |
root to "address/top_url" |
で必ずルートを設定しておいてください。
メーラーの設定
Deviseはデフォルトでメーラーを設定してくれています。
プロダクション環境でもメーラーの設定をしておかないと、herokuでエラーになってしまいます。
僕のケースを例にすると下のような感じです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Production.rb config.action_mailer.default_url_options = { :host => 'your_address' } config.action_mailer.raise_delivery_errors = false config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { address: "mail.smtp2go.com", port: 2525, # 8025, 587 and 25 can also be used. domain: "yourdomain.com", authentication: "plain", enable_starttls_auto: true, user_name: "your_email", password: "your_password" } |
まず、
1 |
config.action_mailer.default_url_options |
で、自分のサイトのurlを記入しましょう。
herokuのデフォルトurlならば xxxxx.herokuapp.com となります。
僕の場合は独自ドメインを割り当てたので、そのアドレスになります。
そして、
1 |
config.action_mailer.delivery_method = :smtp |
で、メール送信にsmptをしています。
その下の
1 |
config.action_mailer.smtp_settings = |
で、メーラーの設定をしていきます。
smtpメーラーとして、僕はsmtp2goというサービスを使っています。
このサービス、月1000通まではメール送信が無料なのでデプロイしたてのサービスにはもってこいです。
smtp2goのユーザー名をuser_nameに、パスワードをpasswordに記入してください。
以上の2つの設定が終わったら
1 2 3 4 5 |
git add . git commit -m "commit_name" git push heroku master |
でherokuにデプロイしてみてください。