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
-,

執筆者:

関連記事

githubライクなuiを持つgitlabを試す

  gitoliteリポジトリをバックエンドにしたrails製でgithubライクなweb uiを持つgitlabを試してみた 環境 ubuntu server 12.04.1 目次1 準備 …

no image

Rubyで対話型のコマンドを実行する~pty expect

  Rubyから普通のLinuxコマンドを実行するのはコマンドで実行できる たとえば、Linuxコマンドがなんらかの入力を要求するときはexpectライブラリを使えばいいらしい www.ru …

collection_selectに複数カラムのテキスト情報を表示

include multiple column value in Ruby on rails Collection_select. Also format the date モデルに [crayon- …

RVMでRubyのバージョンアップ

By: Geri Coady – CC BY 2.0 目次1 RVMのバージョンアップ2 Rubyのバージョンアップ3 2.0.0から2.1.0にバージョンアップ4 gemのバージョンアッ …

Ruby+guardでSass+Compass+CoffeeScriptの自動コンパイル環境を整える

    Ubuntu12.04.1でCoffeeScriptの自動makeとブラウザの自動リロード~guard-coffeescript すでにCoffeeScriptを自動Mak …