【Herokuお絵かき】Herokuにデプロイする!

こんにちは、なかやまです。

前回に引き続きキャラクターを使って、Herokuにデプロイするところをお絵かきしてみたいと思います!

Heroku2_01

前回(【Herokuお絵かき】Herokuってな~に?)、

じーちゃんにアプリを作るならHerokuがおすすめだよと言われました。

 

#2.Herokuにデプロイする

たろうはPlay Framework(以下play)をつかってデプロイすることにチャレンジするようです。

がんばれたろう!

Heroku2_02_2

 

じーちゃんの教えにより、まずはローカル環境でちょっとだけ動くプログラムを書いてみることになりました。

Heroku2_03

 

やる気いっぱいのたろう。

Heroku2_04

 

・ローカル環境を作る

Macをつかって開発環境をつくるようです。PVM(Play Version Manager)入れて、playをインストールして、、Eclipseの準備も整ったようですよ!

Heroku2_05_2

 

ローカル環境を作るのも結構大変。

たろうがんばれー!

Heroku2_06

playをEclipseの設定ファイルを生成する

https://www.playframework.com/documentation/ja/1.2.x/ide

 

・gitの設定

ローカル環境でプログラムが動いたら、次はgitにコミットします。

Heroku2_08_2

 

・Herokuの設定

Herokuアカウントの作成と、Heroku Toolbeltのインストールを行いましょう。

Heroku2_09

 

・Herokuにデプロイする(git push heroku master)

Herokuにデプロイしますよ!いけーー!

Heroku2_10

 

Herokuではgit pushを確認すると、Dynoに展開するためのslugという塊を作ってくれます。

あわせてgitにコミットされたファイルを見ながら、どの言語・フレームワークを使っているから、このビルドパックを使う、ということもHerokuが判断してくれます。

playだと「/conf/application.conf」ファイルがあるのでplayだね!となるわけです。

ビルドパックを自作することもできるそうです。

参考)HerokuのSlugとその動き

Heroku2_11

 

指定されたライブラリのダウンロードなど、コンパイルが行われます。

Heroku2_13_2

 

コンパイルに成功するとslugという塊ができます。

このslugですが、サイズがあまりにも大きい場合にはデプロイできないので注意しましょう。

すばやく展開するためにも、サイズは小さいほうがよいです。

https://devcenter.heroku.com/articles/slug-compiler#slug-size

Heroku2_13

 

slugの作成に成功すると、指定された数のDynoが起動します。

Heroku2_14

 

100Dynoだといっぱいです。

Heroku2_15

 

ローカル環境のモジュールをデプロイできたようですね。

ですが、playのバージョンが1.3でデプロイされてしまったようです。。

ローカル環境では1.2で動いていたのに、なぜだろう?

Heroku2_17_2

ビルドのログはActivityタグから確認ができますよ。

Activity

 

ビルドパックの説明をみると、定義ファイルにバージョンを指定しない場合はデフォルトの1.3が指定されると書いてました。なるほどなるほど。

設定ファイル(dependencies.yml )にバージョンきちんとかいてみましょう。

Heroku2_18_3

https://github.com/heroku/heroku-buildpack-play

 

モジュールに変更があった場合は、再度gitのコミットと、git push heroku masterをしましょう!

Heroku2_19_3

 

・heroku run bash

run bashコマンドを使うとDynoにアクセスできます。

ここではインストールされたplayのバージョンを聞いてみました。

Heroku2_19

正しいバージョンでインストールできたようです!よかったねたろう!

 

 

 

・おたより

そういえば、おたよりが届いてました!2通目です!ありがたや。

Heroku2_22

 

前回のHeroku説明について「あってますよ」というメッセージをいただきました。

ありがとうございますー。

Heroku2_23_2

フィードバックいただけるとうれしいです。m(_ _)m

Heroku2_24

おたより(なかやま直通)