play1.2.5アプリのデプロイ

play1.2.5のインストールはこちら 環境構築
環境:ubuntu12.04 openJDK7->6 play framework1.2.5

アプリケーション格納ディレクトリ ~/play/apps/
play framework格納ディレクトリ ~/play/play-1.2.5/
dotcloud準備ディレクトリ ~/play/dotcloud/

helloプロジェクト作成

$ cd ~/play/apps/
$ ../play-1.2.5/play new hello
 

app/views/Application/index.html編集

折角なので日本語にしておきましょう。
$ vi ~/play/apps/hello/app/views/Application/index.html
#{extends 'main.html' /}
#{set title:'ハロードットクラウド' /}

ハロードットクラウド
 

ローカルで確認

$ cd ~/play/apps
$ ../play-1.2.5/play start hello
 

dotcloudアプリケーション作成

$ dotcloud create hello
Created application "hello" using the flavor "sandbox" (Use for development, free and unlimited apps. DO NOT use for production.)
 
For production usage, you can create a new app under the live flavor by running:
 
    dotcloud create -f live hellolive
 
Information about features available:
http://docs.dotcloud.com/guides/flavors/#flavors-features-comparison
 

確認

$ dotcloud list
hello (flavor: sandbox):
 

dotcloud準備用ディレクトリ作成

$ mkdir ~/play/dotcloud/hello -p
 

helloプロジェクトをwarにする

$ cd ~/play/apps/
$ ../play-1.2.5/play war hello -o ~/play/dotcloud/hello/hello.war --zip
 

準備用ディレクトリに構成ファイル作成

$ cd ~/play/dotcloud/hello/
$ vi ~/play/dotcloud/hello/dotcloud.yml
www:
  type: java
 

warファイルをデプロイ

$ dotcloud push hello ~/play/dotcloud/hello/
省略
www: http://hello-chapati.dotcloud.com/
 

JDKのバージョンが合わないと404になってしまう


dotcloudのjavaのバージョン確認

$ dotcloud ssh hello.www
# $SHELL
dotcloud@hello-default-www-0:~$ java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02, mixed mode)
 
openJDK1.7をインストールしたのですが、dotcloudのjavaはバージョン1.6でした。
JDKのバージョン違いかもしれないので、openJDK1.6をインストールします。

JDK6のインストール

$ sudo apt-get install openjdk-6-jre-headless
 

JAVAのバージョン確認

$ java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (6b24-1.11.1-4ubuntu3)
OpenJDK Client VM (build 20.0-b12, mixed mode, sharing)
 
何もしなくても1.6が有効になってる、後からインストールしたから?

再度helloプロジェクトをwarにする [#f855fa2f]

$ rm ~/play/dotcloud/hello/hello.war -r
$ rm ~/play/dotcloud/hello/hello.war.war
$ cd ~/play/apps/
$ ../play-1.2.5/play war hello -o ~/play/dotcloud/hello/hello.war --zip
 

再度warファイルをデプロイ

$ dotcloud push hello ~/play/dotcloud/hello/
 

表示できました!