.NET Core Azure Functions 部署失败

.NET Core Azure Function deployment fails

我尝试为我的 Azure 函数设置发布管道。这是一个 v2 (.NET Core) 项目。在本地它工作得很好,所以我想通过 DevOps 将它部署到 Azure。

我使用标准步骤(dotnet restoredotnet build 等)创建了构建管道。它顺利通过并创建了工件。

但我很难正确设置部署。管道有三个任务:

  1. 停止 Azure 应用服务
  2. 部署 Azure 应用服务(我选择 订阅Function App 作为 应用程序类型 和目标 应用服务).
  3. 启动 Azure 应用服务

第二步失败,我收到以下错误信息:

Failed to deploy web package to App Service.

如果我点击更详细的日志,我会得到这个:

2019-02-04T02:25:43.4893738Z ##[error]Failed to deploy web package to App Service.
2019-02-04T02:25:43.4905786Z ##[error]Error: (2/4/2019 2:25:42 AM) An error occurred when the request was processed on the remote computer.

azure-ci.yaml的内容:

resources:
- repo: self
queue:
  name: Hosted VS2017

steps:
- task: DotNetCoreCLI@2
  displayName: Restore
  inputs:
    command: restore

    projects: '$(Parameters.RestoreBuildProjects)'


- task: DotNetCoreCLI@2
  displayName: Build
  inputs:
    projects: '$(Parameters.RestoreBuildProjects)'

    arguments: '--configuration $(BuildConfiguration)'


- task: DotNetCoreCLI@2
  displayName: Test
  inputs:
    command: test

    projects: '$(Parameters.TestProjects)'

    arguments: '--configuration $(BuildConfiguration)'


- task: DotNetCoreCLI@2
  displayName: Publish
  inputs:
    command: publish

    publishWebProjects: false

    projects: '$(Parameters.RestoreBuildProjects)'

    arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'


- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'

我的问题是:

尝试最新的 4.x Azure 应用服务部署任务。它默认使用Run From Package,强制部署在Azure上的项目的原子性,可以避免很多麻烦。