LoginSignup
11
11

More than 5 years have passed since last update.

Play Framework 2.5: 空のプロジェクトをHerokuにデプロイするまで

Last updated at Posted at 2016-09-09

現在、Play Frameworkを勉強中ですが、公式ドキュメントを参考にHerokuで動かそうとしてみたら、ドキュメントの情報が古かったためかテンプレートそのままのプロジェクトを動かすのにかなり時間がかかりました。
最新版のPlayをHerokuで動かすまでの情報がまとまっているページも見つからなかったため、備忘録としてまとめました。

環境

  • Mac OS X El Capitan
  • Play Framework 2.5.6
  • Heroku Toolbelt 3.43.10
  • Heroku CLI 5.2.40
  • Playのテンプレートはplay-javaを使用

プロジェクトの作成

ターミナルから以下のコマンドを実行。

$ activator new [project-name] [template-name]

テンプレート名は、play-javaなど。分からなければ入力しないでおくことで、対話的に選択できます。
プロジェクト名にはアルファベット大文字を使わないことをオススメします(入っていてもいいですが、あとでProcfileがややこしくなります)。

とりあえず実行

$ cd project-name
$ activator run

http://localhost:9000 を開いて少し待てば、"Your new application is ready."と書かれた緑色のページが表示されるはず。

Procfileを作成する

Herokuで動作させるために、プロジェクトのルートディレクトリに、Procfileというファイルを作成し、以下の内容を1行だけ書き込みます。

web: target/universal/stage/bin/[project-nameを小文字で] -Dhttp.port=${PORT} -Dplay.crypto.secret=${APPLICATION_SECRET}

[project-nameを小文字で]の部分だけ変更してください。
もしプロジェクト名にアルファベット大文字を使用している場合は、ここだけ小文字に直して書き込みます。
また途中に改行を入れないでください。改行の前にバックスラッシュを入れても動きませんでした。

gitローカルリポジトリを作成

$ git init
$ git add .
$ git commit -m "init"

Herokuのアプリを作成する

Heroku Toolbeltが使用できる場合は、コマンドラインから作業できます。
ない場合はブラウザ版のHerokuからどうぞ。

$ heroku create

先にgit initしておくと、ここで勝手にgit remote add herokuしてくれます。

Herokuのアプリに、Application Secret キーを設定

$ heroku config:add APPLICATION_SECRET=[適当な文字列]

キーはとりあえずここでしか使いません。また忘れてもHerokuの設定から確認できるので、てきとーに入力してください。
Herokuブラウザ版から設定する場合は、Settings/Config Variables から、KEY=APPLICATION_SECRET を追加してください。

[16.9.11 追記] Activatorにもキーを生成する機能がありました。

$ activator playGenerateSecret
[info] Generated new secret: DHM@4lP?(略)
$ heroku config:add APPLICATION_SECRET="DHM@4lP?(略)"

参考: http://stackoverflow.com/questions/27171321/what-is-the-activator-command-to-generate-application-secret

Herokuへpush・デプロイ

$ git push heroku master

pushに続いてビルド・デプロイが走ります。
うまくデプロイできたようなら、

$ heroku open

でアプリを開いてみましょう。
"Your new application is ready."と書かれたそっけないページが表示されれば完了です。

11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11