herokuことはじめ(ruby+sinatra)
herokuの開発にはruby+git+opensshがきっちり動く環境が必要なので、そのあたりの整備を兼ねて一番簡単?なruby+sinatraの場合からはじめる。
Windows7(64bit)+Cygwinを使う記録。
cygwinの替わりにmsysgitを使ってもできると思うがrubyのネイティブモジュール(eventmachine)をインストールするところで頓挫してしまった。LinuxとかOSX使えばもっと簡単。
cygwin導入
http://www.cygwin.com/
から
setup.exe
をダウンロード。
ruby, gcc4(rubyのnative moduleビルド), git, openssh
をインストールする。
gem導入
http://rubyforge.org/frs/?group_id=126
から
rubygems-1.8.11.tgz
を入手した。
$ tar xzf rubygems-1.8.11.tgz $ cd rubygems-1.8.11 $ ruby setup.rb RubyGems 1.8.11 installed == 1.8.11 / 2011-10-03 * Bug fix: * Deprecate was moved to Gem::Deprecate to stop polluting the top-level namespace. ------------------------------------------------------------------------------ RubyGems installed the following executables: /usr/bin/gem $ gem --version 1.8.11
以降の手順
herokuコマンドをインストールする
> gem install heroku
herokuアカウントを作る
ssh鍵作成
$ ssh-keygen
鍵登録
$ heroku login Enter your Heroku credentials. Email: ousttrue@gmail.com Password: $ heroku keys:add
ruby+sinatraを作る
> gem install sinatra
> mkdir hello > cd hello
web.rb
require 'sinatra' get '/' do "Hello, world" end
動作確認
> ruby -r rubygems web.rb [2011-11-26 23:28:52] INFO WEBrick 1.3.1 [2011-11-26 23:28:52] INFO ruby 1.8.7 (2008-08-11) [i386-cygwin] == Sinatra/1.3.1 has taken the stage on 4567 for development with backup from WEBrick
http://localhost:4567で確認する。
C-cで止める
依存ライブラリ管理
sinatraをherokuで利用するのに必要
bundlerをインストール(ここでgccが必要)
$ gem install bundler
Gemfile
source :rubygems gem 'sinatra', '1.1.0' gem 'thin', '1.2.7'
$ bundle install
bundlerを使わずに.gmes(マニフェストと言うらしい)を
使う方法もあるみたい。
foreman
ローカルテスト
$ gem install foreman
Procfile
web: bundle exec ruby web.rb -p $PORT
$ foreman start
http://localhost:5000で確認する。
C-cで止める
gitに登録
$ git init $ git add . $ git commit -m "init"
herokuアプリ作成
$ heroku create --stack cedar