scala webアプリ 実践4-herokuにデプロイ

木南晴夏さんです。リアル脱出ゲームや勇者ヨシヒコと魔王の城などで活躍されている味のある俳優さんです。
f:id:linesnova:20130816191415j:plain

さて、herokuはなにかというと、無料(有料もある)でサーバがたてられるという非常に便利なサイト&ツールです

前準備でGUI操作

まずここでアカウントを作ります。
加え自分のマシーンにあわせてクライアントをインストールします。
自分はiosなのでここです

localから、コマンド実行でデプロイする

対象アプリケーションのディレクトリでlocal gitに登録します。

 cd todolist/
 git init
 git add .
 git commit -m "my first commit"

sshを通すためにherokuにむけて以下のコマンドを実行

heroku login

次にherokuのコマンドに従い、applicationをherokuに配置します

 heroku create
 git push heroku master

その他コマンドでプロセスの監視とログの監視は以下です

 heroku ps
 heroku logs

※すでにdbアクセスがあるプロジェクトをあげたのでこのときはうまくあがりませんでした。
dbアクセスがある場合は後述を参考にしてください。

そしてこれでブラウザ起動できます

heroku open

データベース接続がある場合
project/build.scala
appDependencies内に追加します

"postgresql" % "postgresql" % "9.1-901-1.jdbc4"

プロジェクトのrootフォルダに以下の内容で、
「Procfile」というファイルを作ります。

web: target/start -Dhttp.port=${PORT} ${JAVA_OPTS} -DapplyEvolutions.default=true -Ddb.default.driver=org.postgresql.Driver -Ddb.default.url=${DATABASE_URL}

一応動かすことができましたが、
なぜかこのへんのwarningがでました。
自動起動したい場合はこれを設定してね的なのですかね。この辺はherokuの仕様ににあわせて今後見ていきましょう♪

Database 'default' needs evolution!
[warn] play - Run with -DapplyEvolutions.default=true if you want to run them automatically (be careful)

最後に今回作ったサイトのurlを張っておきます。
Todo list