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 を叩くと、アプリケーションの動作を確認できる。