-
Notifications
You must be signed in to change notification settings - Fork 9
trackman
Trackmanは、Ruby on Railsのプロジェクト内に、エラーとメンテナンスの画面を提供し、Herokuへのデプロイ時にこれらの画面をホストするアドオンです。
エラーとメンテナンスの画面を手動でアップロードしたり、別で管理したりすることに無駄な時間を使わないで下さい。:
- これらの画面は、プロジェクトの一部です。そして、そのように扱われるべきものなのです。
- プロジェクト内で、バージョン管理と修正を行って下さい。
- アプリケーションをデプロイすることで、これらの画面がS3へ同期されます。
- アプリケーション内で既に作成済みのアセット(images/js/css)を参照するようにして下さい。
TrackmanはCLIを経由してHeroku上のアプリケーションへアタッチされます。:
:::term
$ heroku addons:add trackman
-----> Adding trackman to sharp-mountain-4005... done, v18 (free)
一度、Trackmanを追加さえしてしまえば、アプリケーションの環境設定でTRACKMAN_URL
、TRACKMAN_ERROR_PAGE_URL
、TRACKMAN_MAINTENANCE_PAGE_URL
と言った各種変数の設定が可能となります。またメンテナンスとエラーページに関連した全てのアセットを提供、修正する際に必要となる設定情報が含まれることとなります。heroku config
コマンドを使用することで、これらの設定状況を確認することが可能です。
:::term
$ heroku config | grep TRACKMAN
TRACKMAN_URL => https://user:pass@trackman-server/resourceid
TRACKMAN_ERROR_PAGE_URL => http://s3.amazon.com/trackman-bucket/app-id/path/to/your/page.html
TRACKMAN_MAINTENANCE_PAGE_URL => http://s3.amazon.com/trackman-bucket/app-id/path/to/your/page.
Ruby on Railsのアプリケーションでは、Trackmanのクライアントライブラリを使用することを明示するために、Gemfile
に下記のエントリを追加する必要があります。
:::ruby
gem 'trackman'
アプリケーションの依存関係をbundlerで更新して下さい。
:::term
$ bundle install
そして、Herokuのエラーとメンテナンスの画面の設定変数をrake trackman:setup
コマンドでセットアップして下さい。
:::term
$ bundle exec rake trackman:setup
overriding the required heroku configs MAINTENANCE_PAGE_URL and ERROR_PAGE_URL
done! Thank you for using Trackman!
:::term
$ rails generate trackman:controller [name]
このコマンドを実行することで、特別なコントローラーが生成されます。アプリケーションの開発時に、必要となれば、メンテナンスページを表示させることが出来ます。 Rails 3は、500と404のページを直にハンドル可能なため、これらをハンドルするためのルートをジェネレーターが追加します。 Rails 2では、代わりに4つの異なる静的なページが生成されます。
コントローラは、レスポンスのアウトプットをフィルターするクラスメソッドを管理しています。 コントローラ自身を参照すれば、これらの機能の使用例を見つけることができるでしょう。
メンテナンスとエラーページをデプロイして下さい。:
:::term
$ git add public/503.html
$ git add public/503-error.html
$ git commit -a -m "Adding maintenance and error pages"
$ heroku maintenance:on
$ git push heroku master
...
-----> Heroku receiving push
-----> Launching... done, v3
http://warm-frost-1289.herokuapp.com deployed to Heroku
To git@heroku.com:warm-frost-1289.git
* [new branch] master -> master
Trackmanは、アプリケーションの起動時にアセットを同期します。
新規のメンテナンスページを確認するには、ブラウザから問い合わせすることで可能となります。
作業が完了しましたら、メンテナンス(maintenance)をoffへ戻します。
:::term
$ heroku maintenance:off
もし、明示的にエラーページとメンテナンスページを同期させたいのであれば、手動でsyncタスクを呼び出すことで可能となります。また、追加された詳細情報の確認も可能となります。
:::term
$ heroku run rake trackman:sync
以下のコマンドを実行し、全てが機能していることを確認して下さい。:
:::term
$ heroku maintenance:on
カスタムのメンテナンスページを確認するため、あなたのWebサイトをチェックして下さい。確認後、メンテナンスモードをoffにすることを忘れないで下さい。
:::term
$ heroku maintenance:off
heroku addons:upgrade
コマンドを使い、新規プランへマイグレートして下さい。
:::term
$ heroku addons:upgrade trackman:newplan
-----> Upgrading trackman:newplan to sharp-mountain-4005... done, v18 ($49/mo)
Your plan has been updated to: trackman:newplan
Trackmanは、CLI経由でリムーブすることが可能です。
:::term
$ heroku addons:remove trackman
-----> Removing trackman from sharp-mountain-4005... done, v20 (free)
アドオンをリムーブ後、MAINTENANCE_PAGE_URL
やERROR_PAGE_URL
の設定変数を手動でリストアする必要があります。
Trackmanへのサポートとランタイムの問題は全て、Heroku Support channelsを経由して提示して下さい。サポート対象外の問題やプロダクトへのフィードバックに関しても、歓迎しています。こちらで受け付けています。
その他のリソースが以下で利用可能です。: