実践「Heroku」をセットアップしてサンプルアプリを動かそう

2012年6月21日(木)
西見 公宏(にしみまさひろ、@mah_lab)

前回は円滑なコミュニケーションを実現するために使用したyouRoomとPivotalTrackerについてご紹介させて頂きました。

今回は「動くソフトウェア」を維持するために活躍する2つのツール、HerokuとTestFlightのうちHerokuに焦点を当てて、セットアップ方法から実際にサンプルアプリケーションを動かすまでを説明してまいります。

Herokuとは

Heroku(http://www.heroku.com/)は様々な言語で作成された、Webアプリケーションを簡単にホスティングすることができるクラウドアプリケーションプラットフォームです。例えばRuby、Node.js、Clojure、Java、Python、Scalaといった言語で作成したアプリケーションを簡単にホスティングすることができます。

簡単に、と申しましたが、ちょっとしたアプリケーションであれば

$ heroku create arabiki
$ git push heroku master

という2つのコマンドを叩くだけで、http://arabiki.herokuapp.com/ というURLでアプリケーションが稼働するようになります(注:アプリケーションはGitでバージョン管理されている必要があります)。

Herokuそのものの詳細なご紹介については私と同じくソニックガーデンに所属する安達(@interu)が執筆した「ARCによるWebアプリの新しいつくり方:第3回 クラウドプラットフォーム『Heroku』の活用」に譲りますが、その時と比べて、動くアプリケーションの数は大幅に増えています。

この記事が公開された2011年3月23日時点では、Herokuで動くアプリケーションが約10万5000だったのに対し、この記事を執筆している2012年6月11日現在では、約183万ものアプリケーションがHeroku上で稼働しています。なんと、この1年で約18倍にも伸びているのです。

このことから、

  • 分散型バージョン管理システムであるGit利用によるデプロイ容易性
  • アドオンと呼ばれる追加機能を使用することによる拡張容易性
  • オープンかつスタンダードな技術を利用している(ノン・ベンダーロックイン)

といった特徴が、多くの技術者の支持を集めたことが読み取れます。もはやHerokuはPaaSのデファクトスタンダードなんですね。

それでは、早速簡単なRuby on RailsアプリケーションをHerokuにデプロイしてみたいと思います。

簡単なRuby on Railsアプリケーションの作成

さて、簡単なRuby on Railsアプリケーションを作成するにあたって、Rubyのセットアップ等を進める必要があります。

Windowsをご使用の方
RailsInstaller(http://railsinstaller.org/)を使用すると、Windows特有の罠にはまることなく、比較的簡単にRails環境を構築することができます。ページ一番下にあるRECENT RELEASESから「Windows (Ruby1.9)」をクリックし、インストールを実行してください。
本稿執筆時のRailsInstallerのバージョンは2.1.0で、インストーラを実行すると以下のソフトウェアがインストールされます。
Ruby 1.9.3 p125
Rails 3.2
Bundler 1.0.18
Git 1.7.6
Sqlite 3.7.3
TinyTDS 0.4.5
SQL Server support 3.3.3
DevKit(https://github.com/oneclick/rubyinstaller/wiki/Development-Kit
MacOSXをご使用の方
RailsInstaller(http://railsinstaller.org/)を使用しても良いのですが、Windowsのような罠は少ないので、手動で設定していきたいと思います。皆さまの環境構築の参考にしてください。
なお、以降の手順の実行のためには、事前にXcode(Macの開発環境)のセットアップが必要です。
MacOSX 10.7(Lion)をお使いの方
  • MacAppStoreよりXcodeをインストールして下さい。
  • インストール後、Xcodeを起動し、「Xcode > Preferences... > Downloads > Components」よりCommand Line Toolsの右側の「Install」ボタンをクリックし、コマンドラインの開発環境をセットアップします。
  • ターミナル上で「gcc -v」を実行してバージョン番号が返ってきたら、セットアップは無事完了しています。
MacOSX 10.6(Snow Leopard)をお使いの方
  • Downloads for Apple Developersより「Xcode 4.2 for Snow Leopard」をダウンロードし、Xcodeのパッケージインストーラを実行して下さい。
  • インストーラの途中の「Installation Type」にて、「System Tools」と「UNIX Development」にチェックを入力し、「Continue」をクリックしインストールを続行します。
  • ターミナル上で「gcc -v」を実行してバージョン番号が返ってきたら、セットアップは無事完了しています。

(MacOSXの方向け)Ruby環境構築

MacOSXのパッケージ管理システムとしてMacPorts(http://www.macports.org/)とHomebrew(http://mxcl.github.com/homebrew/)が有名ですが、今回はHomebrewを使用します。まだインストールされていない方は以下のコマンドをターミナルで実行し、Homebrewをインストールしてください。

$ /usr/bin/ruby -e "$(/usr/bin/curl -fsSL https://raw.github.com/mxcl/homebrew/master/Library/Contributions/install_homebrew.rb)"

→参考:Homebrew Installation(Github)

インストールが完了すると brew コマンドを使用できるようになります。以下のコマンドをターミナルで実行してみてください。バージョン番号が返るはずです。

$ brew -v
0.9

次に、Rubyのバージョンをシンプルに管理できるrbenvという仕組みをインストールします。プロジェクトによってRuby1.8系を使用したり、1.9系を使用したりということがあるので、Rubyのバージョン管理の仕組みは重要です。以下のコマンドを実行してください。

$ brew install rbenv
$ brew install ruby-build

インストールが完了すると rbenv コマンドを使用できるようになります。以下のコマンドをターミナルで実行し、実行確認をしてみてください。

$ rbenv
rbenv 0.2.1
usage: rbenv <command> [<args>]

Some useful rbenv commands are:
  commands      List all rbenv commands
  rehash        Rehash rbenv shims (run this after installing binaries)
  global        Set or show the global Ruby version
  local         Set or show the local directory-specific Ruby version
  shell         Set or show the shell-specific Ruby version
  version       Show the current Ruby version
  versions      List all Ruby versions known by rbenv
  which         Show the full path for the given Ruby command
  whence        List all Ruby versions with the given command

See 'rbenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/sstephenson/rbenv#readme

rbenvコマンドを用いて、MacOSX標準で搭載されているRubyとは別に、Ruby on Railsの開発で使っていくRubyをインストールします。以下のコマンドをターミナルで実行してください。

$ rbenv install 1.9.3-p125 # ruby1.9.3p125をインストール
$ rbenv global 1.9.3-p125 # 標準で使用するRubyのバージョンを設定
$ rbenv rehash

これでRuby on Railsの開発で使うためのRubyがインストールされました。

$ ruby -v
ruby 1.9.3p125
著者
西見 公宏(にしみまさひろ、@mah_lab)

SonicGarden プログラマー。
ソフトウェアパートナーシップによる受託開発をRuby on Railsで携わる傍ら、エンタープライズ向けCRM「Keepintouch」のメインプログラマーを務める。ブログはこちら

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています