Heroku は salesforce が運営する PaaS 。
Free プランではクレカ登録無しで月に 550 dyno hours (約 23 日分、 1 ヶ月分無い)、クレカ登録すると月に 1000 dyno hours を無料で利用できる。
Free プランの落とし穴は、 30 分アクセスが無いとインスタンス( dyno )が Sleep してしまうところ。
以下、 Free プランでアカウントを取得している前提で記載する。
Heroku CLI
Heroku の Web ページで各種設定できるが、ここでは CLI ベースの方法を記載する。
インストール
$ brew install heroku/brew/heroku
初期起動
以下の手順で Heroku へアプリケーションをデプロイ・起動する。
なお、 /path/to/myApp
は Heroku が対応している言語で実装されたローカルのアプリケーションプロジェクトをさす。
また、 Heroku へのアプリケーションのデプロイは Git 経由で行われる。
$ heroku login # Heroku にログイン
$ cd /path/to/myApp
$ heroku create # Heroku 上に新しいアプリケーションを作成
Creating app... done, ⬢ shielded-scrubland-xxxxx
https://shielded-scrubland-xxxxx.herokuapp.com/ | https://git.heroku.com/shielded-scrubland-xxxxx.git
$ git init # アプリケーションプロジェクトの Git 初期化
$ git remote add heroku https://git.heroku.com/shielded-scrubland-xxxxx.git
$ git add --all
$ git commit -m "first commit"
$ git push heroku master # Heroku へアプリケーションをデプロイ
$ heroku open # ブラウザを立ち上げてページを表示
$ heroku help # USAGE
$ heroku apps help # apps の USAGE
アドオン
アドオンを CLI から適用する方法は以下。
$ heroku addons:create xxxx
プロセスの確認、停止
$ heroku apps:info # アプリケーションの情報を見る
$ heroku ps # プロセスを見る
$ heroku logs # ログを見る
$ heroku ps:scale web=0 # 停止
$ heroku ps:scale web=1 # 起動
Webプロセスのスケール(Dyno、インスタンス台数)を 0 に指定して実質プロセスを停止している。
小ネタめも
node.js アプリケーション
$ heroku open
でエラーが発生した場合は以下に対応。
- npm script に start を追加する
"start": "node app/app.js"
Heroku ではアプリケーションの起動方法に各プログラミング言語毎にルールがあるので注意。
1つのアプリケーションを複数のHeroku環境へデプロイ
$ heroku create アプリ名 --remote 新環境名
$ git push 新環境名 master