2010-02-07
HerokuとRailsで手早くWebサイトを作る
はじめに
Herokuを使ってstiffslack-watcherというサイトを作りました。
http://stiffslack-watcher.com/
Herokuとは
Railsアプリのホスティングサービス。DBが5MBまでなら無料で使えて、さらに日次のCronが使えたり、Gitでデプロイできたりと何かと使い勝手がよい。手早くRailsアプリを作りたい時にオススメ。
興味がある人は、Herokuがどのような構成で運用されているかを見てみるのも良いかもしれない。
Heroku | How it Works
Herokuクイックスタート
前提条件
RubyとRailsも使えるようにしておくこと。あとは、Herokuを使うにはGitが必要。以下のサイトでも見ながらGitを使える様にしておく。
Max OS X
アカウントの作成
下記のURLから、メールアドレスを入力して、送られてくるメールから続けてゴニョゴニョしてアカウントを作成。ログインする。
heroku gemをインストール
アプリケーションを作成したり、デプロイしたりするにはherokuというgemを使います。なのでまずはherokuのインストールから。
$ sudo gem install heroku
下のような感じで、アカウント作成時に使ったメールアドレスとパスワードを事前に設定しておくと、デプロイ時などにイチイチ聞かれないので便利。
$ heroku keys:add Enter your Heroku credentials. Email: joe@example.com Password: Uploading ssh public key /Users/joe/.ssh/id_rsa.pub
新しくアプリケーションを作る
例としてheroku-appという名前でRailsアプリケーションを作ります。
$ rails heroku-app
次にこのRailsアプリケーションをGitの管理下におきます。
$ cd heroku-app/ $ git init $ git add . $ git commit -m "first commit"
さらに、herokuコマンドを使ってHeroku上にアプリケーションを作成します。
$ heroku create
ここまでやると、HerokuのWebサイトでMy Appsのページでアプリケーションが作成されていることが確認できます。この時点ではアプリケーションの名前が適当なものになっていますが、これは後ほど変更できますのでご安心を。
Herokuにリリース
Herokuへのリリースはgitを使います。しばらく待つと、リリースは完了です。簡単ですね!
$ git push heroku master
動いているか確認しましょう。Herokuにログインして、My Appsから今回作成したサイトを選択してHeroku URLという欄にURLが記載されています。今回は空のRailsアプリを作ったのでいつものWelcome aboardの画面が表示されればちゃんとリリース出来ています。
これからの開発サイクル
今後の開発サイクルも、gitにcommitしてherokuにpushするだけでよい。例えば…
$ script/generate scaffold user name:string age:integer $ rake db:migrate $ git add . $ git commit -m "add user scaffold" $ git push heroku master
これだけでOK。
おわりに
これだけ簡単にRailsアプリを公開できちゃう訳です。思い立ったら即行動、なにより動き始める事が超重要なサービス開発の世界にはもってこいのホスティングサービスではないでしょうか?
おまけ 作ろうと思った経緯
名古屋にある良質レーベルstiffslack records。ここのwebshopのセレクトは素晴らしいのだけど、すべての内容が1ページにまとまっていて膨大な情報量になってしまっていて、失礼ながら少し見づらい。ページが大きすぎるせいか、iPhoneで見るとSafariが落ちてしまうこともある。
といった事から、ここ数年間よく利用させて貰っているこのサイトを、もっと軽く、使いやすくしたい、という思いで作る事に決めた。
あとは、WEB PRESS DB Vol.54を読んだことに触発された。
この号にWebサービス即日開発というyusukebeさんが書かれた項があって、純粋に面白そうと感じたことと、鋭意学習中のRuby on Railsで、手頃なサイトを作ってみたかったという事もあった。
stiffslackさんにはこんなサイト作りましたってメールをしてみたものの、返事がこなかったのでちょっと寂しいけど*1、まぁいいか。いつも利用させて貰っている大好きなレーベルなので、少しでも人に知って貰えると嬉しいな。
*1:2010/02/11 追記 stiffslackさんから返事頂きました!俄然やる気出てきた!モチベーションが続く限り、今後も地味に改修を続けます。
- 78 http://pipes.yahoo.com/pipes/pipe.info?_id=faa858a20082ef6d25ad27557e37e011
- 33 http://reader.livedoor.com/reader/
- 10 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja-JP-mac:official&hs=fkf&q=rails+test+unit&btnG=検索&lr=&aq=f&oq=
- 8 http://b.hatena.ne.jp/t/rails
- 7 http://b.hatena.ne.jp/hotentry/diary
- 7 http://www.google.co.jp/reader/view/
- 6 http://ruby.designiddatabase.net/data/394959.aspx?from=rss
- 6 http://www.google.co.jp/reader/view/?hl=ja&tab=wy
- 6 http://www.google.co.jp/reader/view/?tab=my
- 6 http://www.google.com/reader/view/