事前準備

Play framworkを利用するので、入ってない場合は環境を構築します。

Scalaをダウンロードし、インストールします。

Play frameworkをダウンロードし、解凍し、パスがすべて英語かつ空白のないところにコピーします。

ScalaとPlayにPathを通します。

プロジェクトの作成

Playプロジェクトを作成します。

> play new hello

プロジェクト名はそのまま”hello”、言語はscalaを選択します。

project/plugins.sbtを次のように次のプラグインを追加します。

addSbtPlugin("com.github.play2war" % "play2-war-plugin" % "1.2-beta4")

build.sbtを次のように編集します。

import com.github.play2war.plugin._

name := "hello"

version := "1.0-SNAPSHOT"

libraryDependencies ++= Seq(
  jdbc,
  anorm,
  cache
)     

play.Project.playScalaSettings

Play2WarPlugin.play2WarSettings

Play2WarKeys.servletVersion := "3.0"

追加したプラグインはWARファイルを作成するためのものです。

次のコマンドでWARファイルを作成します。

> play war

プロジェクトフォルダ直下のtargetフォルダ内にhello-1.0-SNAPSHOT.warが生成されます。

Tomcatの作成

Azureのポータルサイトにいき、Web Sitesをギャラリーから新規作成します。ギャラリーのなかにTomcatがあるのでこれを作成します。

Tomcatのインスタンスが立ち上がったら、ftpでアクセスします。

site/wwwroot/bin/apache-tomcat-7.0.52/webappsの直下に先ほど作成したWARファイルをコピーします。

自動でWARが解凍されます。

http://xxxxx.azurewebsites.net/hello-1.0-SNAPSHOTでアクセスできます。

まとめ

文字だけになっちゃいましたが、これが大体の流れです。PlayでのWAR生成は正式対応ではないので、どこまでできるのかはちゃんと調べてませんが、何よりPlayがAzureでさくっと動くようになりました。

もう少しいじってまたレポートしたいと思います。

CATEGORIES