在 Azure DevOps 中,与相同的 YAML 管道模板相比,经典编辑器模板中的任务缺失
Posted
技术标签:
【中文标题】在 Azure DevOps 中,与相同的 YAML 管道模板相比,经典编辑器模板中的任务缺失【英文标题】:In Azure DevOps, Task inside Classic Editor Template is missing compared to the same YAML Pipeline template 【发布时间】:2019-11-08 10:35:31 【问题描述】:我有两种方法在 Azure DevOps 上构建管道,使用 YAML 管道模板或在经典编辑器中预设任务(也可以转换为任务组)。 如果我以其中任何一种方式选择相同的模板,经典编辑器中的相同任务可能会从其 YAML 管道模板对应项中丢失。
我选择了两种方式的 .NET 桌面。 https://i.imgur.com/2fGcZ14.png
在经典编辑器中,我可以看到其中 2 个发布任务,如下所示。 https://i.imgur.com/yxYxD44.png
使用 YAML 管道,上面看到的 2 个任务虽然丢失了。
# .NET Desktop
# Build and run tests for .NET Desktop or Windows classic desktop solutions.
# Add steps that publish symbols, save build artifacts, and more:
# https://docs.microsoft.com/azure/devops/pipelines/apps/windows/dot-net
trigger:
- master
pool:
vmImage: 'windows-latest'
variables:
solution: '**/*.sln'
buildPlatform: 'Any CPU'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@1
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
inputs:
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: VSTest@2
inputs:
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
我不知道为什么会这样。感谢您对此的一些帮助或指示,在此先感谢。
【问题讨论】:
【参考方案1】:这两个任务都没有丢失,但您可能需要手动添加它们。
发布工件不再是一项独立的任务,它已成为 YAML 管道的核心功能的一部分,因此它是一个名为 publish
的原生步骤。
steps:
- publish: output/files # path to files/directory containing files you want to publish
artifact: myartifact # Name of the artifact
至于复制文件,那还是个任务,as documented here
The docs for YAML pipelines are pretty good IMO
还有complete reference for the all the built-in tasks
【讨论】:
以上是关于在 Azure DevOps 中,与相同的 YAML 管道模板相比,经典编辑器模板中的任务缺失的主要内容,如果未能解决你的问题,请参考以下文章
Azure Devops 私有构建代理在 nuget 还原任务中失败
如何将 Azure Policy 与 Azure DevOps 集成?
如何将 Azure DevOps Extension for Azure CLI 与 Azure DevOps Server 一起使用?