CI プロセスの最後に、msdeploy.exe を含むフォルダーを zip の宛先にパッケージ化したいと考えています。次のコマンドラインを実行します
msdeploy.exe -verb:sync -source:contentpath="C:\SampleWebApp" -dest:package="c:\SampleWebApp.zip" -declareParamFile="parameters.xml"
また、展開パッケージを吐き出すときに msbuild が生成する *.deploy.cmd と *.SetParameters.xml も気に入っています。*.deploy.cmd と *.SetParameters.xml ファイルの 1 つのセットの名前を変更し、それに応じて内容を変更しました。展開環境で実行できるようにします。
*.deploy.cmd ファイルを実行すると、.SetParameter.xml で提供されるパラメーターに基づいて iis アプリを作成するのではなく、"C:\SampleWebApp" フォルダーが生成されます。
調査の結果、.cmd が -dest:auto にデプロイされることがわかりました。しかし、明らかにパッケージ内の私のパッケージマニフェストは、このパッケージが contentPath であることを示していますが、msbuild によって生成されたパッケージは、iisApp プロバイダーを使用してパッケージ内の archive.xml により複雑なマニフェストを持っています。
次の投稿を見たところ
-source:manifest="Package.xml" を適切な Package.xml とともに使用すると、最終結果は VS パッケージの出力に似たものになるはずです
おそらく *.SourceManifest.xml がパッケージのマニフェストだと思いました。私は使用してパッケージをビルドしましたが、それを .deploy.cmd を使用してデプロイしたい場合、 setAclUser について不平を言います
エラー: 'setAcl' プロバイダーを物理パスで使用する場合は、'setAclUser' 設定の値を指定する必要があります。
msbuildが使用するマニフェストであることを知っている人はいますか?