【发布时间】:2019-06-27 19:22:58
【问题描述】:
我尝试为我的 Azure 函数设置发布管道。这是一个v2 (.NET Core) 项目。在本地它工作得很好,所以我想通过 DevOps 将它部署到 Azure。
我使用标准步骤(dotnet restore、dotnet build 等)创建了构建管道。它通过罚款并创建工件。
但我很难正确设置部署。管道有三个任务:
- 停止 Azure 应用服务
- 部署 Azure 应用服务(我选择了订阅,
Function App作为应用类型和目标应用服务)。 - 启动 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