相关疑难解决方法(0)

Azure Pipelines:使用 Azure 应用服务部署排除文件夹

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

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

但是, Azure应用服务目标包含多个预先建立的文件夹中的文件,这些文件夹的管理独立于持续交付过程。我们想使用“删除目标位置的附加文件”标志(RemoveAdditionalFilesFlag ),同时保持这些文件夹完好无损。

\n\n
\n

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

\n
\n\n

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

\n\n
- task: AzureRmWebAppDeployment@4\n  inputs:\n    ConnectionType: \'AzureRM\'\n    azureSubscription: \'Azure Subscription(01234567-89ab-cdef-0123-456789abcdef)\'\n    appType: \'webApp\'\n    WebAppName: \'MyStagingSite\'\n    packageForLinux: \'$(Build.ArtifactStagingDirectory)/**/*.zip\'\n …
Run Code Online (Sandbox Code Playgroud)

continuous-integration webdeploy azure-deployment azure-web-app-service azure-pipelines

4
推荐指数
1
解决办法
7055
查看次数