speg03の雑記帳

主に未来の自分のために試したことなどを記録しています

GAE/JRuby + Sinatraを試してみた

GAE使えるようになったのでさっそくJRubySinatraのテストしてみた。せっかくRuby使ってたので、やっぱりRuby使いたい。

基本的にここの通りにやってみたよ!

環境準備

GAE/JRubySDKはこれだけで入る。

$ sudo gem install google-appengine

今回はSinatraを使うので作るアプリケーションのディレクトリ上にgemでインストール。

$ appcfg.rb gem install sinatra

ソースコード

config.ru

applicationの値は適宜。

require 'appengine-rack'
require 'app'

AppEngine::Rack.configure_app(
  :application => "test-hogehoge",
  :version => 1)

run Sinatra::Application
app.rb
require 'rubygems'
require 'sinatra'

get '/' do
  "Hello, Sinatra world!"
end

実行

普通に実行もできるしいいよね。GAE特有の何かを使っていたら以下のように用意されたスクリプトを使えばよさそう。アドレスは外からアクセスできるようにするため。ポートはshotgunで9393を開けていたのでそうしてるだけ。

$ dev_appserver.rb -a 0.0.0.0 -p 9393 .

デプロイ

$ appcfg.rb update .

なんてことないけどここで動いてる。デプロイした後、最初のアクセスは時間がかかるのかな。

GAEなかなか楽しい感じです。