首页 > 解决方案 > VSTS 部署不执行 Azure Web App 部署的包跳过规则

问题描述

问题

我们目前正在使用 Visual Studio Team Services (VSTS) 将我们的 MVC 应用程序部署到 Azure Web 应用程序,并面临跳过规则的问题。我们想在部署期间Content/Uploads使用 Web 部署跳过规则跳过一个文件夹。但是,VSTS 似乎根本没有执行该规则。deploy.cmd规则根据以下项目配置打包在文件中。

<PropertyGroup>
      <OnBeforePackageUsingManifest>AddCustomSkipRules</OnBeforePackageUsingManifest>
</PropertyGroup>
<Target Name="AddCustomSkipRules">
  <ItemGroup>
    <MsDeploySkipRules Include="SkipDeleteAppData">
      <SkipAction>Delete</SkipAction>
      <ObjectName>dirPath</ObjectName>
      <AbsolutePath>\\Content\\Uploads</AbsolutePath>
      <XPath></XPath>
    </MsDeploySkipRules>
  </ItemGroup>
</Target>

此配置添加以下规则

-skip:skipaction='Delete',objectname='dirPath',absolutepath='\\Content\\Uploads'

此外,如果我采用此规则并将其直接复制到 VSTS aszure Web 应用程序部署步骤的“附加参数”属性中,它就像一个魅力。

我想知道我是否遗漏了什么。我尝试寻找其他线程或示例,但没有成功。我还尝试更改Make MSDeploy (Visual Studio)的评论中提到的OnBeforePackageUsingManifestfor ,而不是删除 App_Data 文件夹,而是删除其他所有内容而没有成功。AfterAddIisSettingAndFileContentsToSourceManifest

谢谢,

更新

到目前为止,我的猜测是 VSTS 的“Azure App Service Deploy”任务没有使用生成的cmd文件。它使用输入参数生成命令。因此,我需要在我的部署任务而不是项目配置中手动添加跳过规则。

标签: asp.net-mvcazureazure-devops

解决方案


推荐阅读