Capistranoでアプリケーションのデプロイ作業を効率化
本連載の第1回から第3回までは、主にmoonlinxのインフラ技術を説明してきました。今回からはmoonlinxのウェブアプリケーション技術に着目して解説していきたいと思います。
デプロイツール「Capistrano」の魅力
ウェブメディア「moonlinx」では、moonlinx Membership Centerと呼ばれるクリエイター向けの登録制会員サービスを運営しています。これは、デザイナーや音楽活動を行うアーティストをターゲットとしたサービスであり、クリエイター自身の活動をプロモーションするツールとして活用できるサービスです。
このMembership Centerでは、フレームワークとしてRuby on Railsを利用して開発しています。また、PhusionのPassengerを利用して、Apache2上で動作させています。
Railsの運用環境は、MongrelとMongrel Clusterでの運用が最も主流と思われますが、Passengerでも現時点では全く問題なく運用できています。運用のしやすさで言えば、MongrelよりもPassengerのほうが圧倒的に楽なので、サービス運用者の方には是非お勧めしたいところです。
アプリケーションを本番環境にデプロイするツールとしては、Capistranoを利用しています(昔はSwitchTowerと呼ばれていたようです)。Capistranoは、コマンド1行で複数環境にアプリケーションを配備できる、非常に便利なデプロイツールです。
Railsは運用が難しいと言われがちですが、PassenderとCapistranoを有効活用することでそのハードルを下げることができます。今回は、そのデプロイツールであるCapistranoについて説明したいと思います。
Capistranoとは?
Capistranoは複数サーバにアプリケーションを配備できるデプロイツールなのですが、厳密にいえば「複数のサーバ上で同時に並行してコマンドを実行できるツール」です。
Capistranoを実行したマシンから、SSHを利用して複数サーバに対し、平行してコマンドを実行します。
SubversionなどのSCMとも簡単に連携できるため、Subversionから最新ソースコードを取得し、そのままビルドからデプロイまでを実行できます。
Capistranoを利用するための条件
- SSH接続が可能
- SSH接続ユーザー名とパスワードは全てのサーバでそろえる
それでは、Capistranoのインストールから説明したいと思います。
Capistranoのインストール
CapistranoはRubyで記述されており、gemを利用してインストールします。また、Capistranoは、複数のサーバにインストールする必要はありません。Capistranoを実行するマシンにのみインストールします。
今回、動作検証を行った環境は、
- openSUSE 11.1
- ruby 1.8.7
- rubygems 1.3.1
- Capistrano 2.4.3
では、インストールしてみましょう。
$ gem install -y capistrano $ cap -h
capコマンドが実行でき、ヘルプが表示されればインストール完了です。
次に、Railsアプリケーションのカレントディレクトリへ移動し、capifyコマンドを実行しましょう。
- ホワイトペーパー

