cloudfoundry + sinatra + sequel + mysqlメモ(1)

先週から、cloudfoundry + sinatra + sequel + mysqlで簡単なアプリケーションを動かしていて、基本的にはすんなり行けたんだけど、何点か詰まった個所のメモ。

Rubyのバージョン指定方法

vmc pushでデプロイするとき、勝手にJavaなのかRubyなのか、RoRなのかsinatraなのか、等を判別してくれるけれど、rubyのランタイムは指定しないと自動で1.8になるよう。1.9を使いたい場合は、"vmc push --runtime ruby19"。

gemの取り扱い

ほとんどのgemはrequireに書くだけで動いたけど、一部(というか一部以外?)bundlerでgemを同梱しないと動かなかった。bundlerを全然知らないので正直良く理解できてないけど、この辺とか参考。
https://github.com/cloudfoundry/vcap/issues/54
(*)sinatra, haml, sequelは確かbundlerなしで大丈夫、mysqlが駄目だったかな

起動しない場合/起動中のログ確認

vmc logs applicationname

mysqlの接続文字列

MySQLを利用する前、vmcコマンドでサービス作成、アプリケーションとバインドしたあと、sequelの場合は自分で接続情報を設定しないといけない。RoRだと勝手にyamlをなんかしてくれて繋がる、ような記述も見かけたけどRoRを知らないし、試してません。
http://support.cloudfoundry.com/entries/505124-sample-app-to-mysql-connection
接続情報は環境変数JSONで入っているので、パースして利用するのが正しいようだけど、面倒だったら環境変数sinatraでブラウザに出力させて、そこからサーバー名、ポート、ユーザー、パスワード、データベース名をコピペでハードコーディングしてもとりあえず動く。