Freigeben über


Web Deploy 3.6 ベータ版をリリース

このポストは、8 月 11 日に投稿した Web Deploy 3.6 Beta Released の翻訳です。

Web Deploy 3.6 ベータ版をダウンロードしていただけるようになりました。このリリースでの新たな機能拡張は次のとおりです。

  • ASP.Net vNext Web アプリケーションの発行に関するサポート
  • 発行設定ファイルを活用するコマンド ラインおよび API のサポート
  • プロキシのサポート

さらに、以下のようなものを含め多くのバグが修正されました。

  • リモート同期の際のチェックサムとパラメーター化の問題
  • セッション アフィニティ クッキーの構文解析問題

ASP.Net vNext (英語) Web アプリケーション発行に関するサポート

新たな contentLibPath プロバイダーが追加されました。これにより、ASP.Net vNext パッケージおよびソース ファイルの増分の発行を実行できます。vNext アプリのフォルダー構造が変更になり、アプリケーション コードは「approot」という新しいフォルダーの下に置かれるようになります。このフォルダーは、常に IIS アプリケーションのベース ディレクトリと兄弟になります。たとえば、使用している IIS アプリのベースが「wwwroot」の場合、これと対応する「approot」フォルダーが存在するようになります。

  • c:\siteName\wwwroot
  • c:\siteName\approot

現在のところ、プロバイダーにはベースとなる IIS アプリケーション フォルダーへのパスが含まれています (contentPath および iisApp と同様)。ただし、この扱いは変更になるかもしれません。次に例を示します。

  • msdeploy.exe -verb:sync -source:contentPathLib=c:\siteName\wwwroot -dest:contentPathLib=siteName

このプロバイダーを明示的に呼び出したくない場合には、新しいリンク拡張機能を指定して iisApp または contentPath プロバイダーで実行することもできます。次はその例です。

  • msdeploy.exe -verb:sync -source:contentpath=c:\siteName\wwwroot -dest:contentpath=siteName -enablelink:contentlibextension
  • msdeploy.exe -verb:sync -source:iisApp=siteName -dest:contentpath=siteName -enablelink:contentlibextension

Web Deploy をホストしている場合、ユーザーが wwwroot の外の新しいフォルダーに発行できるとしたら恐ろしいことだと思います。そのため、既定ではこのプロバイダーに委任ルールを追加しないことにしました。したがって現在は、ユーザーがシステムに発行を行うためには、あらかじめ contentPathLib プロバイダーをルールに追加しておく必要があります。

発行設定ファイルを活用するコマンド ラインおよび API のサポート

コマンド ラインが最適な状態ではないことは承知しております。そこで、より簡潔にするために、コマンド ライン上で発行設定ファイルを指定できるようにしました。従来は以下のとおりでした。

  • msdeploy.exe -verb:sync -source:contentPath=c:\siteName\wwwroot -dest:contentPath=siteName,computername=https://siteName/msdeploy.axd?site=siteName,username=myUser,password=myPass,authtype=basic

これが、次のように簡素化されます。

  • msdeploy.exe -verb:sync -source:contentPath=c:\siteName\wwwroot -dest:contentPath=siteName,publishsettings=c:\siteName.PublishSettings

同様に、API の使用も簡潔になります。従来は以下のとおりでした。

DeploymentBaseOptions destBaseOptions = new DeploymentBaseOptions();
destBaseOptions.ComputerName = "https://siteName/msdeploy.axd?site=siteName";
destBaseOptions.UserName = "myUser";
destBaseOptions.Password = "myPass";
destBaseOptions.AuthenticationType = "basic";

次のように簡素化されます。

PublishSettings destSettings = new PublishSettings(@"c:\siteName.publishsettings");
DeploymentBaseOptions destBaseOptions = new DeploymentBaseOptions(destSettings);

プロキシのサポート

お待たせしました。Web Deploy でプロキシを (ほぼ) サポートします。 現在も 8172 番ポートを使用して発行を行っている場合は、既定によりお客様のプロキシ設定は今までどおり無視されます。これは、8172 番ポートの使用を許可していないプロキシを使用している既存のユーザーの遮断を避けるためでした。引き続き 8172 番ポートのプロキシ サポートが必要な場合は、レジストリ キーで下記のように設定することによりこれを無効にできます。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3\AlwaysUseProxySettings = 1