ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

【Play Framework】デプロイをやってみた

スポンサードリンク

f:id:aipacommander:20150222095455p:plain


Play Framworkでリリース環境にデプロイしてみた。あとサービスを稼働させてみた。


開発環境ではrunしか、使ったことがない。んで、runはコンソール画面を閉じるとプロセスも一緒にダウンしてしまうので、リリースではツカエナイ。


色々試してみて、とりあえずはこの方法でいいだろ。ということでメモ。



バージョン

[project] $ playVersion
[info] 2.3.9

デプロイ

# これで実行ファイルが生成される
$ ./activator clean stage

動かす

# 実行する
$ ./target/universal/stage/bin/my-app -Dapplication.secret=abcdefghijk &

問題点

実行ファイルを作成したら、実行するんですけども、その前に動作しているプロセスがあるので一度ストップしなければいけません。


現状使っているコマンドはこんな感じ

# プロセスを確認する
$ ps aux | grep java

# プロセスを停止
$ kill -kill xxxxx

$ すぐに実行
$ ./target/universal/stage/bin/my-app -Dapplication.secret=abcdefghijk &


しかし、これはやっちゃダメですね。一度停止しちゃうので、サービスに影響を与えてしまう。


スクリプトファイルでも同じことだとは思いますが、手動じゃない分、正確で早さもあるかなと思います。ので、Apacheとかみたいに、/etc/init.d/httpd restartのようなスクリプトファイルを作ってみようかなと思います。


あと、DBのマイグレーション。実行ファイルを作成するまえに一度検証で./activator runとかで、DBをEvolutionしておかないと、stageしたあとの、実行ファイルでエラーが出力されます。


これは手順書みたいなスクリプトを用意したほうが良いのかな。。。とりあえず今はこんな感じ。