DotCloudを少しだけ使ってみた

気になったのでDotCloudPerlを使ってみました。
今回はwebframeworkのMojoliciousを動かすことを目標としました。
実はほとんどここに書いてあるのですが、仕様変更なのか使えないコマンドがあったのでメモ代わりに書いておきます。


1. まずはDotCloudに登録してAPI Keyを取得します。
2. pythonのコマンドeasy_installを使ってdotcloudをインストールします。

% sudo easy_install dotcloud

3. 作業用のフォルダとファイルを作成します。

% mkdir hellomojo
% cd hellomojo
% touch dotcloud.yml
% touch Makefile.PL
% touch app.psgi

dotcloud.ymlに設定、Makefile.PLにインストールするモジュール、app.psgiにプログラムを書いていきます。
4. それぞれのファイルの中身を記述します。
dotcloud.yml

www:
  type: perl
  environment:
    MOJO_MODE: production

Makefile.PL

#!/usr/bin/env perl                                                               
                                    
use ExtUtils::MakeMaker;

WriteMakefile(
    PREREQ_PM => {'Mojolicious' => '1.21'}
);

app.psgi

#!/usr/bin/env perl                                                                                                   

use Mojolicious::Lite;

get '/' => sub {
    shift->render_text('Hello, Mojo!');
};

app->start;

5. それではdotcloud上で公開するための作業を行います。

# API Keyを聞かれたらSettingsページのAPI Keyを入力します
% dotcloud create hellomojo
# ファイルをhellomojoフォルダにアップロードします
% dotcloud push hellomojo .

そして、表示されたアドレスにアクセスしたら「Hello, Mojo!」が表示されます!
http://gyazo.com/1c7f52b81f8365be2a447ac7c42657f5.png


今回使ってみて、モジュールのインストールやアップロードがすごく速かったのに驚きました。また、Mojoliciousのドキュメントに書いてあった「dotcloud deploy」が使えなかったり「dotcloud.yml」が追加されていることが分かりました。
後、疑問としてMakefile.PLにモジュールのバージョンを書いたのですが、指定とは違う最新のものが入ってしまいました。なぜか誰か教えてください!

dotcloudのコマンドがまとめられた便利なチートシート - 大人になったら肺呼吸