【发布时间】:2019-03-22 11:48:45
【问题描述】:
我正在尝试使用 Azure Devops 进行 CI/CD。我已经创建了适当的 Git 触发器以在我推送时进行构建,并且每当我生成新版本时我都会创建一个新版本。
在发布选项卡中,我尝试使用“部署 Azure 应用服务”模板部署一个包含多个 Web 作业的 WebAPI 项目。所有的日志似乎都表明一切正常,但最终我在 Azure 中检查应用服务时却一无所获!
我尝试了许多不同的配置,甚至还尝试了更多模板。根据日志,它们看起来都很好,但实际上没有部署任何东西!
如果我尝试从 VS2017 构建/部署,它的效果非常好!
问题
- 我需要做什么才能通过 Azure Devops 成功部署我的代码
.
我的构建 YAML 文件非常接近默认值,仅添加了 CopyFiles@2,因为另一篇 SO 帖子建议这样做:
trigger:
tags:
include:
- slot*
branches:
include:
- dev
pool:
vmImage: 'VS2017-Win2016'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
name: $(SourceBranchName)_$(Date:yyyyMMdd)$(Rev:.r)
steps:
- task: NuGetToolInstaller@0
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
msbuildArgs: '/p:DeployOnBuild=true /p:WebPublishMethod=Package /p:PackageAsSingleFile=true /p:SkipInvalidConfigurations=true /p:PackageLocation="$(build.artifactStagingDirectory)"'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: CopyFiles@2
inputs:
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
condition: succeeded() #and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
第二步,我从通过 YAML 文件生成的工件创建一个版本。
【问题讨论】:
标签: azure asp.net-web-api deployment azure-devops continuous-deployment