Mac で heroku を触ってみる

d:id:nshibazaki:20110723 の続きです。

今日は、公式サイトのGetting Started の"Getting Your App on Heroku" のところをがんばります。
主に、使い方

サンプルアプリの作成

デプロイする前に、サンプルアプリの作成を行います。
ここでは簡単な、Message Board を作ります。

以下のコマンドを実行してください。

$ rails new myapp

$ rails generate scaffold message name:string text:string


それでは、本題であるデプロイ作業に移ります。

デプロイ手順

ここでは、以下のドキュメントを参照しています。

Getting Started with Heroku (Getting Your App on Heroku)
Getting Started on Heroku | Heroku Dev Center]

ここで説明するデプロイ手順は、以下のような流れになります。

  • Rakefileを修正する。
  • 1. Track your application with Git
  • 2. Set up your SSH keys
  • 3. Create your Heroku application
  • 4. Push your application to Heroku
  • 5. Bootstrap your database
Rakefileを修正する。

はじめに、"Getting Started with Heroku" には書いていませんが、Rakefile をいじらないと、heroku rake db:migrate に失敗します。

以下のように、Rakefilerequire 'rake/dsl_definition' を追記します。

require File.expand_path('../config/application', __FILE__)
require 'rake'
require 'rake/dsl_definition'
# (以下、省略)

参考URL:http://bit.ly/l7OZc1

1. Track your application with Git

git コマンドを実行し、アプリをgit のローカルリポジトリに追加します。

$ cd PATH/TO/MY_APP
$ git init

$ git add .
$ git commit -m "new app"
2. Set up your SSH keys

以下を参照し、git のSSH のpublic key を設定を行います。
github は使わないので、ssh-keygen の実行だけすればよいです。

sshのpublic key の生成方法、git の設定方法」(github)
Set up Git - GitHub Help (Mac 向け)

3. Create your Heroku application

heroku 側に、アプリを作成します。(git remote repository とかを含む)

ちなみに、heroku createは、初回実行時に、ユーザ名とかssh public key のkeypassとかを質問します。
入力すると、~/.heroku/credentials に、それらの情報が保存され、次回から質問されなくなります。

$ heroku create

コマンドを実行すると、Heroku のMyApp画面にアプリが追加されています。

Web URL は、heroku info コマンドでも確認できます。

$ heroku info
=== 
Web URL:        http://severe-xxxxx-???.heroku.com/
Git Repo:       git@heroku.com:severe-xxxxx-???.git
Dynos:          1
Workers:        0
Repo size:      5M
Slug size:      4M
Stack:          bamboo-mri-1.9.2
Data size:      (empty)
Addons:         Basic Logging, Shared Database 5MB
Owner:          myname@gmail.com

また、heroku open コマンドを実行すると、このWeb URL を開いてくれます。


4. Push your application to Heroku

アプリをデプロイします。

$ git push heroku master
5. Bootstrap your database
$ heroku rake db:migrate

$ heroku open # デプロイしたアプリをブラウザで表示する


これで、デプロイは完了です。

次の予定

次は、Getting Started with Rails 3.x on Heroku | Heroku Dev Center にあるコマンドをいじってみようと思います。

現状は、RDBにsqlite3 を使っています。なので、RDBpostgresql のshared db を使う方法を勉強します。
また、ログとかを参照したりするコマンドをいろいろ試してみます。