PlayアプリをPostgreSQL対応してHerokuにデプロイ&自動テスト:Javaの常識を変えるPlay framework入門(終)(2/4 ページ)
サーブレット/JSPを基にする重厚長大なJavaのWeb開発のイメージを変える軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。最終回は、作成したアプリを簡単にWeb上に公開する方法とPostgreSQL対応、テスト環境の構築と自動テストの実行の仕方を解説します。
【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アプリのルートディレクトリへ移動し、以下のコマンドを順に実行してください。
実行するコマンド | コマンドの意味 |
---|---|
git init | Gitリポジトリをカレントディレクトリに作成 |
git add . | カレントディレクトリ以下を全てGit管理下に追加(addの後は半角スペース+ドット) |
git commit -m "初期コミット" | Gitリポジトリへ管理下のファイルをコミット。コミットコメントは「初期コミット」 |
上記のコマンドでローカルのGitリポジトリにPlayアプリがコミットされました。次に、HerokuのGitリポジトリへローカルの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.