連載
» 2014年01月22日 18時00分 公開

Javaの常識を変えるPlay framework入門(終):PlayアプリをPostgreSQL対応してHerokuにデプロイ&自動テスト (2/4)

[今泉俊幸,株式会社ビーブレイクシステムズ]

【2】アプリを公開する領域(Herokuアプリ)の作成

 Herokuを操作するためには、先ほどインストールしたHeroku Clientを使って、Herokuへログインを行う必要があります。

 コンソールを開き、以下のコマンドを実行し、Heroku登録時に設定したメールアドレス、パスワードを入力してください。

heroku login

 初回ログイン時は、HerokuのGitリポジトリへのアクセスに使うSSHの公開鍵が作成されます。

 なお、ssh-keygenにパスが通っていない場合はここでエラーとなってしまいます。先ほどGitをインストールした場合は、「Git/bin」ディレクトリ以下にssh-keygenがありますので、環境変数「PATH」に追加し、コンソールから実行できるようにしておいてください。

 ログインが成功したら、アプリを公開する領域を作成します(以後、「Herokuアプリ」と記載)。Herokuアプリを作成するためには、以下のコマンドを実行します。

heroku create 〔アプリ名〕

 今回は前回利用したPlayアプリのプロジェクト名と同じく、アプリ名を「uranai-sample」として作成しました。

 アプリ名は世界中のHerokuアプリの中でユニークでなければいけないため、サンプルを実際にHerokuで動かす際にはアプリ名を変えてください。

 なお、heroku createコマンドの後にアプリ名を入力せずにコマンドを実行することで、ユニークな名前を自動で割り当ててもらうこともできます。

 コマンドが成功すると、以下のようにアプリの公開URLと、GitリポジトリのURLが表示されます。

  • アプリの公開URL:http://uranai-sample.herokuapp.com/
  • GitリポジトリのURL:git@heroku.com:uranai-sample.git

【3】HerokuのGitリポジトリへPlayアプリをpush

 HerokuのGitリポジトリへPlayアプリをpushするためには、まずはローカルにGitリポジトリを作成し、Playアプリのコミットを行います。

 Playアプリのルートディレクトリへ移動し、以下のコマンドを順に実行してください。

表1 ローカルのGitリポジトリ作成コマンド
実行するコマンド コマンドの意味
git init Gitリポジトリをカレントディレクトリに作成
git add . カレントディレクトリ以下を全てGit管理下に追加(addの後は半角スペース+ドット)
git commit -m "初期コミット" Gitリポジトリへ管理下のファイルをコミット。コミットコメントは「初期コミット」

 上記のコマンドでローカルのGitリポジトリにPlayアプリがコミットされました。次に、HerokuのGitリポジトリへローカルのGitリポジトリの内容を反映(push)させます。

 以下のコマンドを実行してください。

表2 HerokuのGitリポジトリへのpush
実行するコマンド コマンドの意味
git remote add prod git@heroku.com:uranai-sample.git HerokuのGitリポジトリをリポジトリ名prodで登録
git push prod master prodのmasterブランチにローカルリポジトリの変更を反映

 赤字の個所については、heroku create実行時に表示されたGitリポジトリのURLを指定してください。

 また、Herokuのリモートリポジトリ名には、この後作成するテスト環境と区別するため、「prod」と名前を付けましたが、これは任意の名前で構いません。

 HerokuのGitリポジトリのmasterブランチへのpushが成功すると、自動的にアプリのビルド、デプロイが行われます。デプロイが成功すると、以下のように 「アプリURL deployed to heroku」と表示されます。

 デプロイが成功したら、ブラウザーから「アプリURL/top」にアクセスし、占いアプリが公開されていることを確認してみてください。

 これでPlayアプリのデプロイは完了です。新たに設定ファイルを書くこともなく、簡単にWeb上にアプリを公開できました。

 なお、アプリやGitリポジトリのURLは、ブラウザーからHerokuにログインし、dashboardから該当アプリのSettingsを開くことで、確認が可能です。

補足1 アプリ実行時のエラーログの確認

 Herokuへのデプロイを行い、アプリの公開URLにアクセスした際、アプリにエラーがあると、エラー画面が表示されてしまいます。この時、Playアプリのルートディレクトリで以下のコマンドを実行することで、エラーログを確認できます。

heroku logs

 ただし、herokuはログを100行しか保持しません。100行を超えるログを保持するためには、アドオンの利用が必要です。

 例えば、「loggly」というアドオンを使うと、無料で25MBまでのログが保存可能となります。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。