请参阅使用 YAML 管道在 Azure DevOps 中构建工件

Posted

技术标签:

【中文标题】请参阅使用 YAML 管道在 Azure DevOps 中构建工件【英文标题】:See Build Artifacts in Azure DevOps with YAML Pipeline 【发布时间】:2020-01-22 15:32:55 【问题描述】:

我似乎错过了什么。使用经典编辑器创建构建管道时,我可以在右上角看到一个工件选项卡:

在那里我可以浏览编译器创建的内容,帮助找出发布管道的文件夹结构。

现在,当我使用 YAML 模板(也是 NET 框架)创建构建管道时,没有 Artifacts 之类的东西:

根据日志,已经写入了一些文件。是否有某种文件浏览器,或者我必须猜测these variables 中的哪个与日志文件中的哪个文件夹匹配?

这是我的摘要页面的样子:

这是 YAML:

# .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: ArchiveFiles@2
  inputs:
    rootFolderOrFile: '$(Build.BinariesDirectory)'
    includeRootFolder: false
    archiveType: 'zip'
    archiveFile: '$(Build.ArtifactStagingDirectory)/Release.zip'
    replaceExistingArchive: true

我使用的 YAML 主要是从 Github 存储库构建时生成的标准 YAML。如果我能看到神器,这会影响吗?我应该先以某种方式将 Github 内容复制到 Azure,然后再构建它吗?

【问题讨论】:

你能分享你的 YAML 吗? 【参考方案1】:

更新:我发现了问题: GitHub 构建的默认 YAML 文件不包含“发布”步骤。将此添加到 Build YAML 的末尾

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

它实际上创建了“Artifacts”选项卡:

感谢大家的帮助

【讨论】:

太棒了!您可以在 2 天后接受它作为答案:-) 我们的摘要页面之间的差异是因为我启用了 Multi-stage builds 的预览功能。你可以试试这个新功能。【参考方案2】:

这似乎是 classicYAML 的不同 UI。

要查看工件结构,您可以转到一个构建的摘要页面(https://dev.azure.com/xxxx/xxxx/_build/results?buildId=xxx&view=results)。然后将焦点放在右侧部分,您将看到如下所示:

点击它,你会看到它的文件夹结构(https://dev.azure.com/xxx/xxx/_build/results?buildId=xxx&view=artifacts&type=publishedArtifacts):

【讨论】:

感谢您的回复。不幸的是,这不是我的摘要页面的样子。我在问题中添加了更多信息和屏幕截图。你能复习一下吗? @JensCaasenj,不知道怎么回事,当我想打开你的截图时出错imgur.com/a/v549YhE。你介意再和这个 Imgur 分享一下吗?

以上是关于请参阅使用 YAML 管道在 Azure DevOps 中构建工件的主要内容,如果未能解决你的问题,请参考以下文章

Azure DevOps - 使用参数在 yaml 管道定义中设置路径触发器

Azure 管道 yaml 权限被拒绝

Azure DevOps 中的多个 YAML 构建管道

使用“扩展”的 Azure yaml 管道

azure管道的yaml配置中的'At sign'是啥意思

如何在 azure devops YAML 管道中将单个代理用于多个作业/阶段