Herokuのアカウントが作成済みなら15分もあればできてしまうと思います。
準備
Herokuのアカウントがなければ作り、Heroku toolbeltを入れるなど初期セットアップを済ませておいてください。
1:Herokuにデプロイする。
errbitのgitになんとHerokuにデプロイするボタンがあります。
https://github.com/errbit/errbit/blob/master/docs/deployment/heroku.md
- 「Deploy to Heroku」をクリック
-> Herokuのサイトに遷移してデプロイ完了。
2:Herokuにデプロイしたerrbitをローカルにクローン
ターミナルでerrbitを置きたいディレクトリに移動。
git clone
でローカルにクローン。
giturlはherokuのアプリのSettingsのページを見ると書いてあります。
Settingsのページはこのまま開いておいてくださいね。
3:errbitの設定
ログインユーザーの設定
db:seedを編集
- ローカルにクローンしたerrbitプロジェクトのdb/seed.rbを編集して最初のログインユーザーを設定します。
# Create an initial Admin User
admin_username = "ユーザー名"
admin_email = "メールアドレス"
admin_pass = ENV['ADMIN_PASS']
user.name = '任意のAdmin name' # 変えなくてもOK
パスワードは環境変数に入れました。
Herokuで環境変数を設定
先ほど開いておいたHerokuのSettingsのページに"Config Variables"という項目があります。
Reveal Config Vars というボタンをクリックすると環境変数の一覧が出ます。
そこにKey: ADMIN_PASS、Value:任意のパスワードを追加します。
New Relicを追加
Herokuは無料プランだと1時間アクセスがないとDynoがアイドル状態になるので、これを回避するためにNew Relicというパフォーマンス監視サービスを導入します。
これについては詳しく説明しているページが色々あると思うのでわからなければ調べてみてください。ここでは手短にやり方だけを載せます。
- Gemfileに以下を追加して
bundle install
。
gem 'newrelic_rpm'
変更内容を適用
- gitでローカルの変更内容をpush
- herokuでnew relicアドオンを追加
- db:seedを適用
$ git add .
$ git commit -m "change: db:seed, add: new relic"
$ git push origin master
$ heroku addons:create newrelic:wayne
$ heroku run rake db:seed
$ heroku open
heroku open
でerrbitのアプリを開き、次の設定に進みます。
4:監視するアプリの設定
- errbitのアプリに先ほど設定したメールアドレスとパスワードでログインします。
- Appsのページの Click here to create your first oneをクリックすると監視先アプリの情報のフォームが出ます。
必要な内容を入力してフォームを送信します。 SEND NOTIFICATIONS TO ALL USERSにチェックを入れるとエラー通知のメールが届くようになります。 - 監視対象のアプリのGemfileに以下を追加して
bundle install
group :production, :staging do
gem 'airbrake, '~> 5.0'
end
- config/initializers/errbit.rbを作成し、以下のerrbitのアプリ設定完了ページのところに書いてある内容をコピペ。以下の最後の一行を追加するとdevelopmentとtest環境を除外できます。
Airbrake.configure do |config|
config.host = 'errbitのアプリ設定で書いてある内容'
config.project_id = true
config.project_key = 'errbitのアプリ設定で書いてある内容'
end if Rails.env.production?
監視対象アプリをデプロイしたらOK。これでerrbitが使えるようになりました。
デプロイでエラーが出た場合
バージョンのタイミングが悪かったようですが、私はこのままデプロイしたら以下の様なエラーが出ました。
Airbrake::Error: the 'default' notifier isn't configured
airbrake-rubyのv1.0.2あたりでのみ出ている問題のようでしたので、その場合はGemfileのproduction, stagingグループ内にairbrake-rubyをバージョン指定して追加してbundle install
して再度デプロイします。
group :production, :staging do
gem 'airbrake-ruby', '~> 1.0.3'
end
参考:https://github.com/airbrake/airbrake-ruby/issues/28
5:errbitを更に細かく設定する
errbitでは各種configの値を環境変数で持っています。
パラメーターの一覧は公式ページにあります。
https://github.com/errbit/errbit/blob/master/docs/configuration.md
何も設定しないとエラーが出た時にerrbit@example.comというアドレスからメールが来るので、ERRBIT_EMAIL_FROMはお好みのアドレスに変更すると良いのではないでしょうか。他の項目は適宜どうぞ。
以上です。