RubyOnRails

heroku操作メモ

投稿日:

5分でRailsアプリを公開できるherokuですが、いつもステップ・バイ・ステップでつまずいているのでリスト化した

herokuの登録とSSHキーの登録、Heroku toolbeltのインストールは終わってるとします。

適宜bundle execをつけてください

Getting Started with Heroku

(登録してないと見れないかもしれません)

アプリの新規作成

0 Gitでコミットとかしておく

新しいことをはじめるときは

1 rake assets:precompile

 

 

なんかprecomipileしないとうまく動きません.環境によってはすごく時間がかかります.

なにをやってるのかというと、JavaScriptのファイルを1つにまとめて圧縮.CSSを1つのファイルにまとめて圧縮.という作業です

2 development環境でのアセット設定

assets:precompileしたファイルはpublic/assetsに入るのでdevelopment環境では二重に読み込んでしまって誤動作を起こすことがあります

例えば、jQueryを2回読み込んで何か2回アクションが起こるときはこれを疑うといいかも

config/enviroments/development.rb

 

3 プロダクション環境はgem ‘pg’

 

なんでこんなこと書いてるかというとコピペで済ませたいからなんですけどね

4 Gitのコミットを済ませておく

最初からなら

GitHubで公開するときは、データベースパスワードとか、シークレットキーとかを除外してからにしましょう

Yamlか何かに書きだして、そのファイルをgitignoreに登録するのがいいんじゃないでしょうか

YAML Configuration (revised)

5 heroku create

これでgit remote にherokuが登録されます

なんかgit init すら忘れてた場合は手動で登録してください

 

 

6 git push heroku master

初回はブランチを明示する必要があります

また初回インストールで異常終了した場合もブランチを再度明示する必要があります

 

7 heroku run rake db:migrate

データベースを準備します

同様にrakeコマンドは使えます

 

8 エラーで動かないときは

これで直近のエラーメッセージを確認

途中で動かなくなる時は

これで自動更新されます tail -fと同じ

 9 figaroを使っているときは

databaseのパスワードなどをENVにしているときは、普通はこんなふうにする

でも、figaroならこれでOK

github.com/laserlemon/figaro

*試してみたら正確には上のやり方では動かなかった

application.yml

コマンド

Environments running rake figaro:heroku task

*そんなFigaroの仕様はどうよ!?って話がはじまりました

github.com/laserlemon/figaro/issues/35

アプリの更新

最近JavaScriptばかりやってるのでアセットを更新した時を書きます.

アセットを更新してないときは、普通にgit commit してgit push herokuでOK

1 rake assets:clean

 

2 rake assets:precompile

 

3 git add .

または

 

4 git commit -am ‘なにかメッセージ’

 

5 git push heroku

参考

Herokuのデプロイ作業をRakeで管理する

Heroku入門 (全12回)

-RubyOnRails
-,

執筆者:

関連記事

Rails3.2.11でTwitterBootstrapのモーダルをフォームに使う例

  Rails3.2でTwitterBootstrap導入のあれこれ sass-rails-bootstrapとsimple_formを使っている Rails3.2でCoffeeScript …

Railsで前のデータを使って新規作成

    前提 今度こそRails3.2からdocxを生成する テンプレートからデータを代入してdocxを作れるようになったけど、実際には過去のデータを流用して新しいdocxを作りた …

no image

Strong Parameters関連のデバッグ

関連するモデルの保存がうまく出来ない場合、本体のモデルの保存はうまく出来ているのでエラーは出ない。 サーバーのログをみると、 Unpermitted parameters という …

no image

Rails3部分テンプレートとAjax化のまとめ

参考 guides.rubyonrails.org/layouts_and_rendering.html#using-partials また混乱したので公式を参考にして書き直しました 目次1 部分テン …

erbで要素のidやclassを指定するならcontent_tag_forとdiv_forが便利だった