heroku toolbeltのインストール
heroku toolbeld(heroku推奨)
https://toolbelt.heroku.com/
herokuコマンドと同時にrubyとgitが同時にインストールされる。
すでにRubyや、windowsでmsysgitをインストールしていると、rubyやgitのバージョンが下がることもある。
すでにRubyをインストールしている場合は
$ gem install heroku
herokuツールベルトのバージョン確認
$ heroku version
herokuコマンドのhelp
$ heroku help
herokuにログイン
herokuに登録したEメールとパスワードをきかれる
$ heroku login
sshキーが使用中のPCアカウントになければsshキーの生成
$ ssh-keygen
windowsではssh-keygenコマンドは実行できないが、msysgitを使えば可能
herokuにssh公開鍵をアップロード
$ heroku keys:add ~/.ssh/id_rsa.pub
herokuの管理画面からでも可能
Herokuにからアプリをコマンドから生成
cd アプリのパス
git init
git status
herokuに空アプリ生成
heroku create アプリ名(半角英数字記号ハイフンのみ)
※heroku createだけだと勝手にアプリ名が付けられる
package.jsonに使用するモジュールを記述
※Expressを使用する場合はpackage.jsonのファイルは自動生成される
{
"name": "application-name",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node app.js"
},
"engine": {
"node": "v0.10.x",
"npm": "1.3.x"
},
"dependencies": {
"express": "3.3.4",
"ejs": "*",
"mongodb": "*" //←使用するモジュールを追加しておく
}
}
参考
Node.jsのバージョン確認
node -v
npmコマンドのバージョン確認
npm -v
Procfile作成
アプリを起動するコマンドを指定(※拡張子なし)
web: node app.js
CoffeeScriptで起動する場合
web: node app.coffee
デプロイする前にコミットしておく
cd myapp
git init
git add Procfile *.js *.json public views routes
git commit -m "コミットメッセージ"
git tag v1.0
node_moduleは.gitignoreに登録
node_modules
.
.
リモートリポジトリ追加
※heroku create app名のときに自動的に追加されている
git remote add heroku git@heroku.com:アプリ名.git
リモートリポジトリ削除
git remote remove heroku
herokuにpush
git push heroku master
アプリを既定のブラウザで起動
heroku open
更新
git add .
git commit -m "message"
git push heroku master
heroku run rake db:migrade
heroku run rake db:seed
{
"name": "sample03",
"version": "0.0.1",
"private": true,
"scripts" : {
"start": "node app"
}
"engines": {
"node": "0.8.x",
"npm": "1.1.x"
}
"dependencies": {
"express": "3.0.0beta7",
"jade": "*"
}
}
Procfile
web: node app.js
foreman start
ローカルでアプリケーションが実行できるか確認するコマンド
ctrl + c
heroku apps:info
heroku logs
heroku apps:destroy
heroku apps:destroy -a node-sample-2012-0922 --confirm node-sample-2012-0922
参考
Herokuで作るFacebookアプリ
http://gihyo.jp/dev/serial/01/heroku
heroku再起動
heroku restart