はじめに
エラー監視にRollbar使ってます。
今回、Rollbarにsourcemapを送信するために、gemをインストールしたりヘルパーを作ったりしたのでそのメモです
gemのインストール
sprockets_uglifier_with_source_maps
を利用します。
Gemfile
gem 'sprockets_uglifier_with_source_maps'
compressorに指定します。
config/environments/production.rb
SotoasobiRails::Application.configure do
...
config.assets.js_compressor = :uglifier_with_source_maps
...
end
javascriptの設定
docs/source-maps.md at master · rollbar/docs
docにしたがってscriptを作成していきます。
が、code versionにgitのコミットハッシュを使いたかったので、ヘルパーを作りました。
capistrano3でデプロイしているプロジェクトだったので、currentディレクトリにあるREVISIONファイルを利用します。
app/helpers/application_helper.rb
def git_commit_hash
`cat REVISION `.chomp
end
最終的に以下のようになりました。
var _rollbarConfig = {
accessToken: "xxxxxxxxxxxxxxxxxxxxxxx",
captureUncaught: true,
captureUnhandledRejections: true,
payload: {
environment: "production",
client: {
javascript: {
code_version: "<%= git_commit_hash %>",
guess_uncaught_frames: true
}
}
}
};
あとはこいつをデプロイして、Rollbarが自動的にsourcemapを見つけてくれるのを待つだけ
以上です。