Ruby on Rails 3.2 をDotCloudに導入しよう (2) | IT悶々日記

IT悶々日記

IT業界で悶々と奮闘するコンサルタント兼エンジニアの日記

前回はMac leopardにRuby on Rails 3.2.0をインストールするところまで進めました。
Invalid gemspec...の大量エラーが発生していたけど、
その後 ruby自体のアップデート、gemのアップデートを行うことで、
jquery-rails-1.0.19以外のエラーは無事消えました。

jquery-railsのinvalid gemspecのエラーもここ を参考に無事解決。スッキリ。


さて、それではRails3.2アプリを作成して、DotCloudにアップしてみましょう!!
初めにRailsアプリケーションをPC上で作成します。
(今回はkazokuの名前で作成。深い意味はないです。)

# rails new kazokuapp
..
Enter your password to install the bundled RubyGems to your system:

RubyGemsのパスワードを聞かれるので適用に入力。Your bundle is complete!と表示されればOK.
早速、作成したアプリのテストサーバを起動して、http://localhost:3000でブラウザからアクセスしてみましょ。

# cd kazokuapp
# script/rails server

"Welcome aboard You are riding ruby on rails."と表示されれば成功です。

続いて、Dot Cloudへのアプリのアップロードに挑戦します。

の前に、、、Dot Cloudに新サービスを作成しておきます。
サービスとはアプリケーションを入れる箱のようなもので、
DotCloudのフリープランでは最大2個まで箱を持てるようですよ。

#dotcloud create kazoku
...Created application "kazoku"

次に箱の設定を行います。
DotCloudにRubyアプリであること、アプリのルートディレクトリの名前を教える設定をYAMLで記述します。
ファイル名は必ずdotcloud.ymlにして、アプリのディレクトリ(kazokuapp)と同じ場所に作成してね。
設定のルートの名前をwwwにしてるところが多かったのでwwwで記述します。
※まだこのwwwの部分の意味がよく理解でていないので...

<dotcloud.yml>
www:
type: ruby
approot: kazokuapp

YAMLなのでタブとか使ってはダメですよ。繊細なYAML。。

準備が終わったところで、DotCloudにアプリをアップロードしましょう。
dotcloud.ymlとRoRアプリのディレクトリが存在する場所でdotcloud pushコマンドを実行します。
このコマンドを実行することで、DotCloudにプログラムが転送されると共に
自動的にRails3.2.0を含む依存関係のあるGemもインストールされます。<すごっ!!

# dotcloud push kazoku
...
14:54:22 [www] Fetching source index for https://rubygems.org/
...
14:55:08 [www] Installing rails (3.2.0)
...
Deployment finished. Your application is available at the following URLs
www: http://kazoku-xxx.dotcloud.com/


そして最後に表示されたURLにアクセスすると、ちゃんとWelcome aboardの文字が♪
ほんとに簡単、さっくさくです。
(railsの画像はDotCloudの環境では表示されないで注意。
 実行モードが"production"に設定されているからのようです。)


次回はさらにMySQLを使ったアプリをデプロイしてみましょう。

(続く)