トップ回答者
Azureテストサーバの構築

質問
-
Azureのソフトウェアをテストするために
リモートで接続可能なサーバとしてAzure Emulatorを利用したいと思っています。
Azure Storage Emulatorは、構成ファイルを書き換えるだけでリモート接続が可能になりましたが、
Computeの方でVSを使用しない*.cspkgの配置の方法がわからず悩んでいます。
ローカルの場合だとVSを使ってデバッグ開始すればいいだけなのですが、
環境的な問題でテストサーバーにはVSをインストールすることはできません。
こういった場合、方法はあるのでしょうか?
是非教えてください。よろしくお願いします。
回答
-
k.buchiさん
教えていただいた方法で試してみたら、cspackまでうまくいきました。
ありがとうございます。
そのあとテストサーバーにファイルを移し、csrunを実行したのですが
下記のようなエラーが出てしまいました。
D:\output\ServiceDefinition.csdef(1, 1) : Error : Error CloudService50 : Top-lev
el XML element does not conform to schema
Error when creating deployment.
先頭文字でエラーがでてるようだったのでBOMかと思いBOMを削除してみたのですが、
エラーは変わりませんでした。
csdefの内容は下記のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="CloudService1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
<WebRole name="WebRole1">
<LocalResources>
<LocalStorage name="DiagnosticStore" sizeInMB="4096" cleanOnRoleRecycle="false" />
</LocalResources>
<ConfigurationSettings />
<Endpoints>
<InputEndpoint name="HttpIn" protocol="http" port="80" localPort="80" />
</Endpoints>
<Certificates />
</WebRole>
</ServiceDefinition>
- 回答としてマーク otf 2011年5月11日 7:44
すべての返信
-
こんにちは。
Compute Emulator用の実行ファイルは*.cspkgではなく、*.csxフォルダが実態になります。
※但し全部コピーされるわけではなくアプリケーションのパスは元ソースの場所になったと思います。*.cspkgファイルおよび*.csxフォルダはWindows Azure SDKにコマンドラインツールとして含まれているCSPackコマンドを使用することで作成できます。
※基本的にコマンドラインに渡す引数はどちらも変わらず、*.csxフォルダ(Compute Emulator用)だけ/copyonly引数を追加します。(*.cspkg形式にZIP圧縮しない)テストサーバー上でAzureなアプリケーションを実行する場合、Visual Studioをインストールする必要はありませんが、Compute EmulatorやStorage Emulatorを起動させるためにWindows Azure SDK(および関連コンポーネント)をインストールしておく必要があります。
あとはコマンドで実行したいソースをテストサーバー上にコピー後、CSPackで.CSXフォルダを作成し、*.cscfgファイルのパスと*.csxフォルダのパスをCSRunコマンドに渡せばCompute Emulator上で動作させることができると思います。
CSPackおよびCSRunコマンドの引数についてはMSDNを参照して頂ければ良いかと。
http://msdn.microsoft.com/en-us/library/gg432988.aspx
また参考までにコマンドのサンプルを記載したBlogへのURLを載せておきます。
http://tinyurl.com/4z9vytw
-
k.buchiさん
教えていただいた方法で試してみたら、cspackまでうまくいきました。
ありがとうございます。
そのあとテストサーバーにファイルを移し、csrunを実行したのですが
下記のようなエラーが出てしまいました。
D:\output\ServiceDefinition.csdef(1, 1) : Error : Error CloudService50 : Top-lev
el XML element does not conform to schema
Error when creating deployment.
先頭文字でエラーがでてるようだったのでBOMかと思いBOMを削除してみたのですが、
エラーは変わりませんでした。
csdefの内容は下記のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="CloudService1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
<WebRole name="WebRole1">
<LocalResources>
<LocalStorage name="DiagnosticStore" sizeInMB="4096" cleanOnRoleRecycle="false" />
</LocalResources>
<ConfigurationSettings />
<Endpoints>
<InputEndpoint name="HttpIn" protocol="http" port="80" localPort="80" />
</Endpoints>
<Certificates />
</WebRole>
</ServiceDefinition>
- 回答としてマーク otf 2011年5月11日 7:44