herokuに独自ドメインを割り当てる

herokuでつくったサービスは

(ID).heroku.com

といったドメインがもらえますが、独自ドメインにしてみました

ドメインは取得済みだったので、DNSレジストラに設定
sample.comのドメインをとったとして

CNAMEレコードを追加しました

ホスト名: www.sample.com
タイプ: CNAME
TTL : 3600
値: (ID).heroku.com

※ サブドメインなしはCNAMEに割り当てられないようです(DNSの仕様として許容してない)
TTLはお好みで

あとはheroku

$ heroku domains
で設定してあるドメインが確認できます

$ heroku domains:add www.sample.com
で追加

DNSが反映されたらアクセスできるようになりました

Ubuntuでheroku toolbeltをアップデートする

Ubuntuからherokuにアップデートをしようとherokuコマンドを打つと

WARNING: Toolbelt v3.39.5 update available.

とか出たのでアップデート方法を調べてみました

$ heroku help
でコマンド一覧が見れます

$ heroku update
をしてみたらapt-getを使えと言われたので

$ sudo apt-get install heroku-toolbelt

で無事アップデート出来ました

HerokuでSendgridを使ってRailsでメール送信をする

メールを送るサービス Sendgrid を使ってHerokuでメール送信してみました
アカウントはheroku Addonを入れると勝手に作られ、Sendgridにログインすると利用状況など見れます

無料のstarterプランだと1日400通まで送れます

HerokunにAddonを入れて使います
https://elements.heroku.com/addons/sendgrid

herokuのaddonを入れるためにはクレジットカードの登録が必要になります

https://devcenter.heroku.com/articles/sendgrid#ruby-rails
を参考に設定をします

$ heroku addons:add sendgrid:starter

$ vim config/environments/production.rb

Rails.application.configure do
  # 省略
    config.action_mailer.delivery_method = :smtp
    config.action_mailer.smtp_settings = {
      :address        => 'smtp.sendgrid.net',
      :port           => '587',
      :authentication => :plain,
      :user_name      => ENV['SENDGRID_USERNAME'],
      :password       => ENV['SENDGRID_PASSWORD'],
      :domain         => 'heroku.com',
      :enable_starttls_auto => true
    }
end

USERNAMEとPASSWORDの確認は次のコマンドでできます
$ heroku config:get SENDGRID_USERNAME
$ heroku config:get SENDGRID_PASSWORD

動作確認するには
$ heroku run rails console
irb> ActionMailer::Base.mail(from: “sample@sample.com”, to: “sampleto@sample.com”, subject: “題名”, body: “本文”).deliver

で確認できます

herokuにrailsアプリをデプロイする

herokuにrailsアプリ手順をおさらい
heroku toolbeltはインストール済みです

railsアプリのディレクトリへ移動します
git管理してなければ

$ git init
$ git add -A
$ git commit -m ‘initial’

とかでGit管理しておきます

$ heroku login

でherokuに一度ログインしていおきます

$ heroku create

でherokuアプリを生成
herokuにアプリをプッシュします

$ git push heroku master

これでデプロイできました
postgresqlを使っていたため

$ heroku addons:add heroku-postgresql

データベース用意

$ heroku run rake db:migrate

アクセスしてみます

$ heroku open

でherokuのアドレスをブラウザで開いたり

$ heroku info

=== xxxxxxx-yyyyy-1111
Dynos:         0
Git URL:       https://git.heroku.com/xxxxxxx-yyyyy-1111.git
Owner Email:   sample@sample.com
Region:        us
Stack:         cedar-14
Web URL:       https://xxxxxxx-yyyyy-1111.herokuapp.com/
Workers:       0

とURLが見れたりします