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::ReloaderSinatra::Reloaderが公式サイトで紹介されていますが、shotgunは一番簡単だそうです。

参考サイト:
http://stackoverflow.com/questions/5684266/can-i-do-sinatra-program-without-restart-server
What happened to reloading in Sinatra

2011年05月24日(火) Ruby, sinatra

Share on Twitter Share
Qihuan Piao

朴 起煥

東京で働いている「外人歴」9年のソフトウェア「ライター」。いつの間にか納豆が食えるようになり、これで日本に慣れきったと思いきやまだまだ驚きが続いてる。読んだり書いたりするのが好きで、自身の経験や本から得た「何か」をここに書き出してる。最近古本屋にハマってる。
他にも英語中国語で書いてます、よろしければチェックしてみてください。