2011年5月24日
Sinatraサーバ起動せずに修正したソースを反映する方法(ホットデプロイ)
Sinatra使って二日目ですが、サーバーを再起動しないと修正したコードが反映されないことに気づきました。これは不便なので、改善する方法を紹介します。
shotgunというgemを使えばOKです。インストールし、ruby -rubygemsではなくshotgunでサーバを起動します。
$ sudo gem install shotgun
$ shotgun myapp.rb
== Shotgun/WEBrick on http://127.0.0.1:9393/
...
これでサーバを再起動せずにホットデプロイができるようになります。
他にもSinatra::ReloaderやSinatra::Reloaderが公式サイトで紹介されていますが、shotgunは一番簡単だそうです。
参考サイト:
http://stackoverflow.com/questions/5684266/can-i-do-sinatra-program-without-restart-server
What happened to reloading in Sinatra