実践「Heroku」をセットアップしてサンプルアプリを動かそう
前回は円滑なコミュニケーションを実現するために使用した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
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- Active Recordのその先へ ~RailsでMongoDBを使う~
- クラウドプラットフォーム「Heroku」の活用
- Rails4をはじめよう
- RailsのテストフレームワークRSpecの基礎知識
- Rails技術者認定試験運営委員会、Ruby on Railsのエントリー資格「Rails4ブロンズ試験」を発表
- Node.jsとExpress.jsで開発したWebアプリをeXcaleで動かす
- Rails技術者認定試験運営委員会、「Rails4シルバー試験」の予約開始を発表
- VirtualBoxやVagrantを用いたRails開発環境の構築方法(後編)
- COBOLエンジニアが次に開発しなければいけないものとは?
- 言語+フレームワークで選ぶ