6

自動プロバイダーが正確に何をするのか、どのように機能するのか、いつ使用するのかを誰かが (technet/msdn ドキュメントよりも) 説明できますか?

これは Web Deploy に関するものです。-dest:auto を指定している多くのドキュメントを見てきましたが、私にはあまり意味がありません。

自動プロバイダーは、宛先のプロバイダーがソース プロバイダーと同じであることを指定します。

msdeploy.exe -verb:sync -source:appHostConfig="MySite" -dest:auto,computername=Server1

auto プロバイダーを使用すると、destination 引数が -source 引数と同じ場合に、-dest 引数のフル パスを入力することを回避できます。また、マニフェスト ファイルをアーカイブまたはパッケージから個別にコピーする必要もなくなります。

自動プロバイダーは、指定されたソースを取得し、宛先コンピューター上の対応する場所を使用します。たとえば、ソースとして appHostConfig=Site1 を指定すると、ターゲット コンピューターの宛先は Site1 になります。これは、Web サイトを「そのまま」リモート マシンに同期する場合に便利です。

自動車プロバイダー向けの technet ドキュメント

意味をなさない例:

msdeploy.exe -verb:sync -source:package=myapp.zip -dest:auto

宛先を正確にソースに設定するのはなぜですか? ポイントは?単にiteslfでソースを上書きしていませんか?

VS2010 でパッケージを公開して生成された cmd ファイルは、次のようなものを生成します。

"C:\Program Files\IIS\Microsoft Web Deploy V2\\msdeploy.exe" -source:package='MySourcePath' -dest:auto"  

auto は、ソースが自分自身を上書きするだけという意味ではありませんか? しかしそうではなく、実際には IIS Web サイトを更新します (マニフェストの設定に基づいて)。

パッケージを宛先として使用しようとしましたが、この場合、IIS サイトではなくソース パッケージが更新されました。

この質問のきっかけは、私が CI を実装しており、過去に常に msbuild/xcopy を使用してきたことです。今msdeployを利用したいです。Visual Studio から生成されたmyproject.cmdを単純に呼び出すのではなく、理解したいと考えています。

たとえば、この SO リンクは、 dest 引数に auto プロバイダーを使用することを指定しています。

ありがとう

4

1 に答える 1

4

あなたは実際に自分で答えを見つけたと思います。

ソースがパッケージで宛先が auto の場合、パッケージで指定されたコンポーネントが「解凍」され、宛先サーバーに配置されることを意味します。-source:package -dest:auto 構文では、「auto」はパッケージ自体が宛先であることを意味しません。

そして、ご覧のとおり、パッケージを宛先として指定すると、ソースに指定したものは実際に zip ファイルとしてパッケージ化され、後でソースとして使用して別の場所にデプロイできます。

于 2012-03-01T22:20:50.640 に答える