Azure Pipelines:使用Azure App Service Deploy排除文件夹

问题描述 投票:0回答:1

我有一个Azure DevOps Pipeline,其中包括一个用于部署ASP.NET Core 3.1项目的Azure App Service Deploy任务(AzureRmWebAppDeployment):

- task: AzureRmWebAppDeployment@4
  inputs:
    ConnectionType: 'AzureRM'
    azureSubscription: 'Azure Subscription(01234567-89ab-cdef-0123-456789abcdef)'
    appType: 'webApp'
    WebAppName: 'MyStagingSite'
    packageForLinux: '$(Build.ArtifactStagingDirectory)/**/*.zip'
    enableCustomDeployment: true
    DeploymentType: 'webDeploy'
    enableXmlTransform: false
    enableXmlVariableSubstitution: true
    RemoveAdditionalFilesFlag: false
但是,

Azure App Service目标包含几个预先建立的文件夹中的文件,这些文件的管理与连续交付过程无关。我们想使用删除目标位置的其他文件标志(RemoveAdditionalFilesFlag),同时保持这些文件夹不变。

免责声明:我认为这不是最佳实践,将来,我们会将这些文件移至单独的存储位置。在此之前,我想找到一个可以解决此问题的解决方案。

Visual Studio 2019]中,我们通过使用MsDeploySkipRules文件中的csproj从发布过程中排除这些文件来实现此目的:

<Project Sdk="Microsoft.NET.Sdk.Web">
  …
  <ItemGroup>
    <MsDeploySkipRules Include="CustomSkipFolder">
      <ObjectName>dirPath</ObjectName>
      <AbsolutePath>wwwroot\\Uploads</AbsolutePath>
    </MsDeploySkipRules>
  </ItemGroup>
</Project>

此方法对于Visual Studio效果很好,并因其Web部署发布过程而倍受赞誉。但是,即使使用“ Web Deploy”部署方法(AzureRmWebAppDeployment),这些规则似乎也不受DeploymentType任务的约束。

使用MsDeploySkipRules任务时是否有办法兑现AzureRmWebAppDeployment?如果不是,是否有办法提供在部署过程中应跳过或忽略的文件夹列表?或者,如果发布到Azure App Service时是否还有另一个任务允许这些选项之一?

注意:

我也将其发布到了DevOps Beta,但是由于该站点尚未达到临界数量,因此我将其交叉发布在这里。

我有一个Azure DevOps管道,其中包括用于部署ASP.NET Core 3.1项目的Azure应用程序服务部署任务(AzureRmWebAppDeployment):-任务:AzureRmWebAppDeployment @ 4输入:...

continuous-integration azure-pipelines azure-web-app-service webdeploy azure-deployment
1个回答
0
投票

使用AzureRmWebAppDeployment任务时是否有办法遵守MsDeploySkipRules?

© www.soinside.com 2019 - 2024. All rights reserved.