BluemixにPlayframeworkアプリケーションをデプロイする
Bluemixを触りだしたので、HelloWorldとしてWebアプリケーションをデプロイしてみた。
準備
- Playframework 2.5.10
- Scala 2.11.7
- CloudFoundry CLI
上記に加え、Bluemixのアカウントの登録、適当なアプリケーションが実装済みの前提で進めます。
デプロイ対象を生成する
sbt dist
でzipファイルを生成する。
[APPLICATION_NAME] etc..はプロジェクト固有の値になっているので、適宜読み替え。
> sbt dist
・・・
[info] Your package is ready in /~/[APPLICATION_NAME]/target/universal/[APPLICATION_NAME-VERSION-SNAPSHOT].zip
manifest.ymlファイルを作成する
プロジェクトルートにmanifest.ymlを作成。 [HOST_NAME]、 [NAME] は任意の値を設定。 path の設定は、↑のzipファイルのパスを指定。
applications:
- host: [HOST_NAME]
name: [NAME]
buildpack: java_buildpack
path: ./target/universal/[APPLICATION_NAME-VERSION-SNAPSHOT].zip
instances: 1
memory: 512M
認証
Bluemix登録時のメールアドレスとパスワードを聞かれるので、入力する。
> cf login
API エンドポイント: https://api.ng.bluemix.net
> Email
> Password
APIエンドポイントの設定
↑で認証したエンドポイント以外を使う場合、エンドポイントを指定しなおす必要がある。
今現在、使用できるエンドポイントは以下の3つ。
- 米国南部
- 英国
- シドニー
それぞれ設定が異なるので注意。
使用する組織、スペースが異なる場合も別途設定。
cf api https://api.[REGION].bluemix.net
エンドポイント | REGION |
---|---|
米国南部 | ng |
英国 | eu-gb |
シドニー | au-syd |
デプロイ
> cf push
・・・
要求された状態: started
インスタンス: 1/1
使用: 512M x 1 インスタンス
URL: [HOST_NAME].au-syd.mybluemix.net
最終アップロード日時: Mon Jan 22 02:33:15 UTC 2017
スタック: cflinuxfs2
ビルドパック: java_buildpack
状態 開始日時 CPU メモリー ディスク 詳細
#0 実行 2017-01-22 11:34:21 AM 0.0% 512M の中の 964K 1G の中の 1.3M
こんなような出力がされて、完了。
URL を叩くと、アプリケーションの動作を確認できる。
Link
Latest post:
- OpenWhiskのScala sbtプロジェクトのgiter8テンプレートを作った
- OpenWhisk+Scalaで作るServerless Architectureとっかかり
- BluemixにPlayframeworkアプリケーションをデプロイする
- sbt、Giter8を統合するってよ
- Scala 2.12.0でSAM型