none
Azureテストサーバの構築 RRS feed

  • 質問

  • Azureのソフトウェアをテストするために

    リモートで接続可能なサーバとしてAzure Emulatorを利用したいと思っています。

    Azure Storage Emulatorは、構成ファイルを書き換えるだけでリモート接続が可能になりましたが、

    Computeの方でVSを使用しない*.cspkgの配置の方法がわからず悩んでいます。

    ローカルの場合だとVSを使ってデバッグ開始すればいいだけなのですが、

    環境的な問題でテストサーバーにはVSをインストールすることはできません。

    こういった場合、方法はあるのでしょうか?

    是非教えてください。よろしくお願いします。

    2011年5月10日 7:59

回答

  • 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
    2011年5月11日 4:44
  • こんにちは。

    CSRunコマンドにはサービス設定ファイル(.cscfg)を指定する必要があります。
    .cscfgファイルが無い場合、CSPackコマンドに/generateConfigurationFile引数を付けることで生成することができます。

    ※生成後は.cscfgファイル内を編集して設定項目など必要事項を埋めてください。
    ※一度作成した.cscfgファイルは、.csdefに大きな変更が無い限り使いまわしたりできます。

     

    • 回答としてマーク otf 2011年5月11日 7:44
    2011年5月11日 5:11
    モデレータ

すべての返信

  • こんにちは。

    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

     

    2011年5月10日 8:16
    モデレータ
  • 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
    2011年5月11日 4:44
  • こんにちは。

    CSRunコマンドにはサービス設定ファイル(.cscfg)を指定する必要があります。
    .cscfgファイルが無い場合、CSPackコマンドに/generateConfigurationFile引数を付けることで生成することができます。

    ※生成後は.cscfgファイル内を編集して設定項目など必要事項を埋めてください。
    ※一度作成した.cscfgファイルは、.csdefに大きな変更が無い限り使いまわしたりできます。

     

    • 回答としてマーク otf 2011年5月11日 7:44
    2011年5月11日 5:11
    モデレータ
  • まさにそれでした!

    無事解決しました。ありがとうございました!

    2011年5月11日 7:44