【问题标题】:.NET Core Azure Function deployment fails.NET Core Azure Function 部署失败
【发布时间】:2019-06-27 19:22:58
【问题描述】:

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

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

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

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

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

未能将 Web 包部署到应用服务。

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

2019-02-04T02:25:43.4893738Z ##[错误]无法将 Web 包部署到应用服务。
2019-02-04T02:25:43.4905786Z ##[error]Error: (2/4/2019 2:25:42 AM) 在远程计算机上处​​理请求时出错。

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)'

我的问题是:

  • 部署任务我错过了什么?
  • 可能与构建管道有关吗?所以构建工件“格式不正确”,目前它是一个 ZIP 文件
  • 我需要单独的停止/启动任务还是它们已经包含在部署中?

【问题讨论】:

  • 如果您可以发布构建管道的 yaml 文件,那就太好了
  • @LowFlyingPelican 我更新了描述,它在那里
  • 您可能需要在最后一步将“PathtoPublish: $(build.artifactstagingdirectory)”更改为“PathtoPublish: $(build.artifactstagingdirectory)/Release”。
  • @LowFlyingPelican 我试过了,但没有帮助,构建失败为Not found PathtoPublish: D:\a\1\a\Release
  • 您可以尝试禁用停止/开始步骤吗?

标签: azure azure-functions azure-pipelines-release-pipeline


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 2017-03-31
    • 2019-03-10
    • 2018-07-08
    • 2020-01-06
    • 1970-01-01
    相关资源
    最近更新 更多