.NET Core Azure Functions 部署失败
.NET Core Azure Function deployment fails
我尝试为我的 Azure 函数设置发布管道。这是一个 v2 (.NET Core)
项目。在本地它工作得很好,所以我想通过 DevOps 将它部署到 Azure。
我使用标准步骤(dotnet restore
、dotnet build
等)创建了构建管道。它顺利通过并创建了工件。
但我很难正确设置部署。管道有三个任务:
- 停止 Azure 应用服务
- 部署 Azure 应用服务(我选择 订阅,
Function App
作为 应用程序类型 和目标 应用服务).
- 启动 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)'
我的问题是:
- 部署任务我错过了什么?
- 会不会是构建管道的问题?所以构建工件是 "not in the right format",目前它是一个 ZIP 文件
- 我是否需要单独的停止/启动任务,或者它们已经包含在部署中?
尝试最新的 4.x Azure 应用服务部署任务。它默认使用Run From Package,强制部署在Azure上的项目的原子性,可以避免很多麻烦。
我尝试为我的 Azure 函数设置发布管道。这是一个 v2 (.NET Core)
项目。在本地它工作得很好,所以我想通过 DevOps 将它部署到 Azure。
我使用标准步骤(dotnet restore
、dotnet build
等)创建了构建管道。它顺利通过并创建了工件。
但我很难正确设置部署。管道有三个任务:
- 停止 Azure 应用服务
- 部署 Azure 应用服务(我选择 订阅,
Function App
作为 应用程序类型 和目标 应用服务). - 启动 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)'
我的问题是:
- 部署任务我错过了什么?
- 会不会是构建管道的问题?所以构建工件是 "not in the right format",目前它是一个 ZIP 文件
- 我是否需要单独的停止/启动任务,或者它们已经包含在部署中?
尝试最新的 4.x Azure 应用服务部署任务。它默认使用Run From Package,强制部署在Azure上的项目的原子性,可以避免很多麻烦。