なんか、やってみたくなった。

GoogleAppEngineもJavaもRubyも初めてなんですけど、
できますかねぇ。。。

目標は潮ったーをGAEで動かす。

ちなみに環境は、Snow LeopardなMacBookです。

 

GoogleAppEngineのアカウント作成

下記リンクから適当に。

Applications Overview

 

Javaの環境確認

$ java -version
java version "1.6.0_17"
Java(TM) SE Runtime Environment (build 1.6.0_17-b04-248-10M3025)
Java HotSpot(TM) 64-Bit Server VM (build 14.3-b01-101, mixed mode)

Javaは入ってるっぽい。

 

MacPortsのインストール

MacPortsをインストールしてなかった。。。

下記サイトよりSnow Leopard版をダウンロードして、インストール。

The MacPorts Project — Download & Installation

.bashrcに以下の2行を追加してパスを通す。

export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH

MacPortsのアップデート。

$ sudo port -d selfupdate

インストールできるソフトウェア一覧を更新。

$ sudo port -d sync

これで、MacPortsの準備はOK。
selfupdateとsyncは定期的に実行するといいらしいです。

 

Rubyのインストール

$ sudo port install ruby

ライブラリはいらないのかな。
わからん。

とりあえず、ライブラリの確認だけしておく。

$ sudo port list rb-*

 

Gemのインストール

Gemってなんだ。
初めて聞いた。

ググってみたら、「Rubyのパッケージマネジメントシステム」らしい。
へー。

portでインストールを試みる。

$ sudo port install rb-rubygems

Gemをインストールできたけど、
gemからgoogle-appengineをインストールするには、
バージョン1.3.5以上が必要らしい。

portから入れたgemは1.3.4でした。
なのでアンインストール。

$ sudo port uninstall rb-rubygems

gemをソースからインストールしようと思ったら、
wgetコマンドがないことが判明。
wgetをportでインストール。

$ sudo port install wget

改めてgemをソースからインストール。

$ wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
$ tar vzfx rubygems-1.3.5.tgz
$ cd rubygems-1.3.5
$ sudo ruby setup.rb
$ gem --version
1.3.5

gem 1.3.5 のインストール完了。

そしてダウンロードしたファイルの削除。

$ cd ../
$ rm -rf rubygems-1.3.5*

 

GoogleAppEngineのインストール

gemからgoogle-appengineのインストール。

$ sudo gem install google-appengine

 

Sinatraを動かす

とりあえず、下記サイトのまんま。
あとで復習すること。
自分に言ってます。

GoogleAppEngine + JRubyでクリスマスまでに彼女をつくる方法 : tech.kayac.com – KAYAC engineers’ blog

$ mkdir helloworld
$ cd helloworld
$ vi Gemfile
# Critical default settings:
disable_system_gems
disable_rubygems
bundle_path ".gems/bundler_gems"

# List gems to bundle here:
gem "sinatra"
gem "json"
gem "appengine-apis"

$ vi config.ru
require 'appengine-rack'

AppEngine::Rack.configure_app(
  :application => 'gae-project-name',
  :version => 1
)

require 'main'

run Sinatra::Application

$ vi main.rb
require 'rubygems'
require 'sinatra'

get '/' do
  'Hello World!!'
end

Gemfile内に書かれているモジュールをインストール。

$ appcfg.rb bundle .

開発用サーバーを立ち上げる。

$ dev_appserver.rb .

http://localhost:8080/にアクセスして「Hello World!!」と表示されればOK。

開発できたら、GoogleAppEngineにデプロイ。

$ appcfg.rb update .

デプロイって何だ。。。

デプロイとは 【deploy】 – 意味/解説/説明/定義 : IT用語辞典

 

http://[Your Application Identifier].appspot.com/ に「Hello World!!」と表示されればOK。

 

これで準備完了。
あとは開発するだけですな。
まずは、Sinatraの勉強からかな。。。

 

【参考】