こんにちは、なかやまです。
前回に引き続きキャラクターを使って、Herokuにデプロイするところをお絵かきしてみたいと思います!
じーちゃんにアプリを作るならHerokuがおすすめだよと言われました。
#2.Herokuにデプロイする
たろうはPlay Framework(以下play)をつかってデプロイすることにチャレンジするようです。
がんばれたろう!
じーちゃんの教えにより、まずはローカル環境でちょっとだけ動くプログラムを書いてみることになりました。
やる気いっぱいのたろう。
・ローカル環境を作る
Macをつかって開発環境をつくるようです。PVM(Play Version Manager)入れて、playをインストールして、、Eclipseの準備も整ったようですよ!
ローカル環境を作るのも結構大変。
たろうがんばれー!
playをEclipseの設定ファイルを生成する
https://www.playframework.com/documentation/ja/1.2.x/ide
・gitの設定
ローカル環境でプログラムが動いたら、次はgitにコミットします。
・Herokuの設定
Herokuアカウントの作成と、Heroku Toolbeltのインストールを行いましょう。
・Herokuにデプロイする(git push heroku master)
Herokuにデプロイしますよ!いけーー!
Herokuではgit pushを確認すると、Dynoに展開するためのslugという塊を作ってくれます。
あわせてgitにコミットされたファイルを見ながら、どの言語・フレームワークを使っているから、このビルドパックを使う、ということもHerokuが判断してくれます。
playだと「/conf/application.conf」ファイルがあるのでplayだね!となるわけです。
ビルドパックを自作することもできるそうです。
指定されたライブラリのダウンロードなど、コンパイルが行われます。
コンパイルに成功するとslugという塊ができます。
このslugですが、サイズがあまりにも大きい場合にはデプロイできないので注意しましょう。
すばやく展開するためにも、サイズは小さいほうがよいです。
https://devcenter.heroku.com/articles/slug-compiler#slug-size
slugの作成に成功すると、指定された数のDynoが起動します。
100Dynoだといっぱいです。
ローカル環境のモジュールをデプロイできたようですね。
ですが、playのバージョンが1.3でデプロイされてしまったようです。。
ローカル環境では1.2で動いていたのに、なぜだろう?
ビルドのログはActivityタグから確認ができますよ。
ビルドパックの説明をみると、定義ファイルにバージョンを指定しない場合はデフォルトの1.3が指定されると書いてました。なるほどなるほど。
設定ファイル(dependencies.yml )にバージョンきちんとかいてみましょう。
https://github.com/heroku/heroku-buildpack-play
モジュールに変更があった場合は、再度gitのコミットと、git push heroku masterをしましょう!
・heroku run bash
run bashコマンドを使うとDynoにアクセスできます。
ここではインストールされたplayのバージョンを聞いてみました。
正しいバージョンでインストールできたようです!よかったねたろう!
・おたより
そういえば、おたよりが届いてました!2通目です!ありがたや。
前回のHeroku説明について「あってますよ」というメッセージをいただきました。
ありがとうございますー。
フィードバックいただけるとうれしいです。m(_ _)m
おたより(なかやま直通)