Azure クラウドサービス(クラシック)をローカルでエミュレートしようとした時に躓いたこと
Azureの使い方にも慣れてきてAzureを使って開発をしたいなと思い、Azureクラウドサービスにアプリケーションをデプロイする方法を試してみました。
参考 https://msdn.microsoft.com/ja-jp/library/azure/hh690944.aspx
その時、ちょっと躓いたことをメモします。
- 準備するもの以下のサイトの「前提条件」を見て、JDK、Eclipse、Webアプリケーションサーバ、Azure Toolkit for Eclipse、Azureサブスクリプションを準備します。
- やったこと
- Azure クラウドサービスにデプロイする
- Azure Compute Emulatorを使ってローカルでアプリケーションを動かす
- 躓いたこと
1.デプロイ先が、Azure Preview Portalで作成したクラウドサービスではなく、Azure Portalで作成したクラウドサービスだったこと。
Azure Toolkit for Eclipseでは、Azure Preview PortalのクラウドサービスApp Serviceへのデプロイ方法は以下のサイトに掲載されていました。次に試してみようと思います。
参考 https://azure.microsoft.com/ja-jp/documentation/articles/web-sites-deploy/#
2.Azure Compute Emulatorを起動できない
3回躓きました。
1回目は、Azureデプロイプロジェクトのサーバ構成の設定で、Local server pathを参照ボタンから指定しても「そのアプリケーションサーバは認識できない的な」エラーメッセージが出てしまって、サーバ構成の設定ができなかったこと。結局、参照ボタンを使わずに直接パスをコピペしたらエラーメッセージが出ずにサーバ構成の設定が出来ました。
2回目は、ビルドパスが長かったこと。Cドライブの直下にeclipseのディレクトリを作り、その中にAzureにデプロイするアプリのworkspaceを配置 しましたが、「256文字以内でパスを指定してください」的なメッセージが出た為、workspaceをCドライブ直下に変更して実行。
3.アプリケーションを起動できない
3回目は、Azure Compute Emulatorまでは起動できたものの、「java.exe has not started - waiting...」がWorkerRoleのログに出力されてアプリケーションが起動できなかったこと。このログでググって出た以下のサイトから、「パスが間違ってた」というコメントを見つけたので、Eclipseのビルドパスを見るとEclipseのJVMを使うようになっていました。Azureデプロイプロジェクトのサーバ構成では、任意のフォルダにインストールしたJDKパスを指定していたので、サーバ構成で指定したパスのJDKをEclipseのビルドパスに指定し直したところ動くようになりました。
- Azure クラウドサービスを使ってみた感想
とても簡単にWebにアプリケーションをデプロイできました。
内部的にはAzureデプロイプロジェクトにデプロイ先のOSバージョン、JDK、Webアプリケーションサーバ、その他諸処設定を持っており、その設定を基にデプロイをしているみたいです。VMを自分で構築して、Webアプリケーションサーバを構築して、…といった手続きを踏む必要がないので、とても簡単にサービスの開始ができる印象を受けました。
今後はPortalでリソースを構築するを利用することはないので、Azure Preview PortalのApp Serviceへのアプリケーションのデプロイにも挑戦してみたいと思います。