4

私は、大規模な企業サービスインフラストラクチャの構築と展開のインフラストラクチャの作成に取り組んでいます。ビルドサーバーにはTFSBuild2012を使用し、WPP展開パッケージを生成するためにVisual Studio 2012を使用し、実際の展開を実行するためにMSDeploy2.1を使用しています。(MSDeploy 3にはいくつかのバグがあるため、使用できません。NTLM認証はWMSvcなどで壊れています)。

「Project.wpp.targets」ファイルを作成し、次のプロパティを追加しました。

<DeployOnBuild Condition="$(DeployOnBuild) == '' And '$(OutDir)' != '$(OutputPath)' ">true</DeployOnBuild>
<WebPublishMethod>Package</WebPublishMethod>
<DeployManagedPipelineMode>Integrated</DeployManagedPipelineMode>
<Disable_CopyWebApplication>True</Disable_CopyWebApplication>

ビルドサーバーでコンパイルが行われると、OutDirはOutputPathとは異なり、WPPがアクティブ化されます。ビルドは次のファイルを出力します。

Project.zip
Project.SetParameters.xml
Project.SourceManifest.xml
Project.deploy.cmd
Project.deploy-readme.txt

project.zipの内部は次のとおりです。

Archive.xml
Parameters.xml
systemInfo.xml

質問1 -SourceManifest.xmlファイルとは何ですか?また、zipパッケージに含まれていないのはなぜですか?展開用のzipファイルパッケージを作成する理由は、完全に自己完結しているように思われます。そのSourceManifestファイルは「緩い」です-展開ファイル共有にzipファイルを投げ込むことはもうできません。なぜパッケージに含まれていないのですか?また、ビルドサーバー上の特定のパスを指します。

質問2 -Archive.xmlファイルは何のためのものですか?SourceManifest.xmlにはやや冗長なようです。プロバイダー、多数のプロバイダーなどがあります。Microsoftのドキュメントでは、パッケージに「manifest.xml」と記載されています。このファイルはマニフェストのように見えますが、「archive.xml」と呼ばれています。ファイル名は重要ですか?manifest.xmlはarchive.xmlとは異なりますか?それらはSourceManifest.xmlとどのように関連していますか?SourceManifest.xmlは似ていますが、同時に異なっていますか?

質問3 -systemInfo.xmlは何のためにありますか?ビルドサーバー上のIISロール用にインストールされているすべてのコンポーネントが一覧表示されているようです。たとえば、ローカルマシンでコマンドラインでビルドを実行すると、.NET 2.0と4.0がインストールされており、マシン上のさまざまなIISコンポーネントのTrue/False値がいくつか表示されます。問題は、これらの設定が実際に展開したいものとは関係がないことです。MSDeployはこのファイルを見たことがありますか?生成を無効にすることはできますか?ビルドサーバーからの構成アーティファクトが本番環境に影響を与えることは絶対に避けたいです。

4

1 に答える 1

5

生成されたzipパッケージは自給自足であり、ディレクトリ内の他のファイルがなくてもmsdeploy.exeで使用できます。

を設定することにより、cmdファイルとSetParametersファイルが生成されないようにすることができますGenerateSampleDeployScript=Falseビルド後にSourceManifestを削除するように構成することはできませんが、手動で安全に行うことができます。

SourceManifest.xmlは、基本的に診断アーティファクトです。実際には、それは-source:manifest=Project.SourceManifest.xml同期の-dest:package=Project.zip

archive.xmlは、パッケージプロバイダーの内部表現です。このファイルは常にarchive.xmlと呼ばれ、manifest.xmlに言及しているドキュメントは誤りです。

systeminfo.xmlがどのように使用されているかは実際にはわかりません。機能を無効にする方法はわかりませんが、プロパティが展開に影響を与えるような状況に遭遇したことはありません。

于 2012-12-20T04:24:42.833 に答える