HerokuにPlayFramework1.2.5のアプリを公開してみる(Windows)
※ 2013/8/14追記
「Heroku Security Team」から「PlayFrameworkのバージョンを1.2.6にアップして!」という内容(たぶん)のメールが届きました。きっとセキュリティ的に重要なアップデートなので、これからPlayFrameworkの1.2.x系でデプロイする方は1.2.6でデプロイするとよいと思います。
目次
前提条件
PlayFramework1.2.6のインストールが完了して、パスが通っている事。
JDK1.6がインストール完了してパスが通っている事。
1.Herokuのアカウントを作成する
- 「https://id.heroku.com/signup」にメールアドレスを入力し「Sign Up」をクリック。
- 届いたメールのURLをクリック。
- パスワードを入力して「Save」をクリック。
2.Toolbeltをインストール
- ログインすると、まずToolbeltをインストールするといいよって画面がでるので、Toolbeltをダウンロードします。
- 「heroku-toolbelt.exe」を実行しフルインストールしました。
3.herokuコマンドでログイン
- コマンドプロンプトを起動
- 「heroku login」と打ち込んでエンター。
- メールアドレスとパスワードの入力を求められるので入力します。
- 公開鍵作る?って英語で聞かれるのですが、Windowsでは上手く行かないので「n」を入力しました。
>heroku login
Enter your Heroku credentials.
Email: <アカウント作成時のメールアドレス入力>
Password (typing will be hidden):<自分のパスワード入力>
Could not find an existing public key.
Would you like to generate one? [Yn] n
Authentication successful.
4.TeraTermで公開鍵作成
「3.herokuコマンドでログイン」で作成しなかった公開鍵を作成します。
- TeraTermを起動し「設定」メニューから「SSH鍵生成」を選択します。
- 鍵の種類「RSA」ビット数「2048」で「生成」をクリックします。
- 「公開鍵の保存」をクリックして、公開鍵を保存します。
- 「秘密鍵の保存」をクリックして、秘密鍵を保存します。
- 公開鍵、秘密鍵ともに「C:\Users\<ユーザー名>\.ssh」のディレクトリに配置しました。
- パスフレーズは空のまま作成しましたが、設定すると何が起きるのかな?
5.Herokuに公開鍵転送
- コマンドプロンプトから「heroku keys:add」でHerokuに公開鍵を転送します。
6.ローカルにPlayFrameworkアプリを作成&動作確認
- コマンドプロンプトから「play new <アプリケーション名>」でアプリケーションを作成します。
- 「play run <アプリケーション名>」でアプリケーションを起動し。
- ブラウザで「http://localhost:9000/」に接続して動作確認します。
- 気がすんだらコマンドプロンプトで「Ctrl+C」を入力してPlayFrameworkを停止します。
7.「conf/dependencies.yml」編集
英語読めないのでなんとなくですが、アプリケーションのルートの「conf/dependencies.yml」を編集して、「require: - play」の記述に、正確なバージョンを記入しないと行けないみたいです。
# 編集前
require:
- play
↓
# 編集後
require:
- play 1.2.6
PlayFramework1.2.3の場合、このファイルが無いかもなので作ってください。
8.「.gitignore」作成
- 以下の内容で、アプリケーションのルートに「.gitignore」ファイルを作成します。
bin/
data/
db/
dist/
logs/
test-result/
lib/
tmp/
modules/
「新しいテキストドキュメント.txt」を作ってからリネームしようとしたら、エクスプローラーに跳ねられたので、テキストエディタの名前を付けて保存でファイル名を「.gitignore」にしました。
9.「Profile」作成
- 以下の内容で、アプリケーションのルートに「Profile」ファイルを作成します。
web: play run --http.port=$PORT $PLAY_OPTS
10.Gitにメールアドレスとユーザー名登録
- 以下のコマンドで、Gitにメールアドレスとユーザー名を登録します。
git config --global user.email "<メールアドレス>"
git config --global user.name "<ユーザー名>"
11.アプリケーションをローカルのリポジトリにコミット
- 以下はコマンドプロンプトでの作業です。
- アプリケーションのルートにCDコマンドで移動
- 「git init」でリポジトリとして初期化
- 「git add .」でファイルをリポジトリに登録
- 「git commit -m "init"」でリポジトリに登録した内容を確定(コミット)
12.Herokuに空のアプリケーション作成
12-a.Herokuのダッシュボードから作成する場合
- Herokuのダッシュボード「https://dashboard.heroku.com/apps」に、「Create a new app」ボタンがあるのでクリックします。
- アプリケーションIDを入力して「Create app」をクリック
- 今回は「hello-heroku-chapati」にしました。
- アプリケーションIDの重複は許されないので、名前でエラーになったら重複しないIDに変更しましょう。
- アプリケーションIDを省略すると、自動的に名前を付けてもらえます。
- 上手く作成できたら以下の情報が表示されます。
- 「App URL:<アプリケーションのURL>」
- 「Git URL:<GIT用のアプリケーションURL>」
12-b.コマンドからアプリケーションを作成する場合
- 「heroku create --app <アプリケーションID>」
13.アプリケーションをHerokuに送信
- 以下はコマンドプロンプトでの作業です。
- アプリケーションのルートにCDコマンドで移動
- 「git push <GIT用のアプリケーションURL> master」で、GitにアプリケーションをPush&Herokuに公開
- 今回は「git push git@heroku.com:hello-heroku-chapati.git master」になりました。
14.ブラウザで確認
コマンドラインから「heroku info --app <アプリケーションID>」と打ち込んでも、以下のようにURLが表示されます。
>heroku info --app hello-heroku-chapati
=== hello-heroku-chapati
Addons: heroku-postgresql:dev
Git URL: git@heroku.com:hello-heroku-chapati.git
Owner Email: hogehoge@example.com
Region: us
Repo Size: 45M
Slug Size: 77M
Stack: cedar
Tier: Legacy
Web URL: http://hello-heroku-chapati.herokuapp.com/
コメント(バグ、間違い、こんな情報が欲しい等ありましたら)
アンケート(このページの情報はお役に立ちましたか?)
最終更新:2013年08月19日 00:50