upプロジェクト作成GitでHerokuへpush[Ruby][備忘録][Sinatra][Heroku]HerokuにWebアプリ(Sinatra)をデプロイする手順をまとめたあらすじいよいよHerokuをはじめる。1.8.10gem管理にbundlerを使いたいプロジェクト作成Bundler準備プロジェクトフォルダ(heroku_sample)を作成し、その中にGemfileファイルを作成する。‘heroku’は後ほどHerokuに対してプロジェクトを作ったりするのに使用する。'heroku'bundleでインストール。今回はカレントのvendor/bundleにインストール。World!!できるようにサンプルファイルapp.rbを作成。World!"endRackアプリケーションとして起動するためconfig.ruファイルを作成する。‘app.rb’としていた。それでもローカルでは問題なくロードして動作してたし。Herokuにデプロイすると下記のようなログを吐きエラーとなった。――HerokuのRubyはデフォルトで1.9.2になっているということがわかった。Ruby1.9.2からロードパスにカレントディレクトリが含まれなくなったらしく。カレントディレクトリのファイルは./で明示的に教えてあげないといけないようなのでした。うーんRuby1.9.2からの仕様だったのか。1.8ばっかり使ってたからしらなんだ。http://d.hatena.ne.jp/ruedap/20110531/ruby_require_load_path:titlehttp://www.ruby-lang.org/ja/news/2010/08/18/ruby-1-9-2-is-released/#label-8:titleGitの管理下にで、戻ってきて...次にgitの管理対象におく。(今はまだやる必要ないけど、先にすませとく)bundle系のファイルはignoreしておく。.gitignore.bundlevendorここまでのプロジェクト構成はこう。heroku_sample┣.bundle/┣.git/┣.gitignore┣Gemfile┣Gemfile.lock┣config.ru┣app.rb┗vendor/ローカルで動作確認Sinatra起動ちょっとローカルで動作確認。World!!できていればローカルでは成功。[f:id:kk_Ataka:20111126014002j:image]メールアドレスを登録し送られてきたメールからHerokuへ再度アクセスしパスワードを登録。先ほどgemで入れたherokuでHerokuにプロジェクトを作成する。その際、メールアドレスとパスワードの入力が求められる。あとsshキーが必要になるっぽい。addedお、できたできた。Appsを見に行くとプロジェクトができてた。ちなみに、現在HerokuのサーバのRubyデフォルトバージョンは1.9.2の模様。これはherokuコマンドで1.8などに変えられるみたい。[f:id:kk_Ataka:20111126014001j:image]GitでHerokuへpushそしたらGitのローカルリポジトリにcommitしたのち、Herokuへpushする。master無事にデプロイが成功したようなので、Webページへアクセス。この時はRuby1.8.7でやっていた。