【发布时间】:2020-08-25 19:24:08
【问题描述】:
我一定是变老了 - 或者别的什么......但我无法理解我在这里要做的事情。
我有一个相当简单的 .NET Core 命令行实用程序,代码托管在 Azure Devops Git 存储库中,并且我已经在 Azure Devops 中使用构建管道设置了持续集成。这就像一个魅力 - 新的检查出现,代码被编译并且单元测试被运行 - 太棒了。
但下一步似乎让我望而却步。我来自 CruiseControl 或 Atlassian Bamboo 等工具,我们曾经有一个单独的“测试”构建 - 一个可以手动触发,做同样的事情(构建代码,运行测试),然后打包将输出构建到某种“工件”中 - 一个 ZIP 文件、一个 MSI 安装程序 - 随便什么。
我试图在 Azure Devops 中完成同样的事情 - 但我似乎无法只见树木不见森林......
有“工件”部分 - 很自然,我认为向我的构建管道添加另一个步骤并根据需要获得我的结果会轻而易举。但无论我做什么,我尝试什么——“存档文件”、“发布的构建工件”或我偶然发现的任何其他东西,我似乎都无法将我的构建结果转换成一个表单,以便我可以从 Azure 下载它构建完成后进行 DevOps。
我到底需要做什么?我期待能够进入“Artifacts”并以某种方式选择我的构建并获得我的输出 - 作为 ZIP 或其他 - 但情况似乎并非如此。如果我理解正确的话,“Artifacts”要求提供提要——比如 NuGet 或 Maven 提要——但这不是我想要的......
哪篇文章写得非常好,可以解释如何设置?
到目前为止,我构建的 YAML 如下所示:
# .NET Desktop
trigger:
- none
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)'
然后我尝试了“归档文件”步骤:
# Archive files - compress files into .7z, .tar.gz, or .zip
- task: ArchiveFiles@2
inputs:
rootFolderOrFile: '$(Build.BinariesDirectory)'
includeRootFolder: false
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
verbose: 1
还有“已发布的管道工件”:
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)'
artifact: 'BfhInfoPackage'
publishLocation: 'pipeline'
但在这两种情况下,我发现任何“结果”都显示在任何地方供我下载或获取....
【问题讨论】:
标签: c# .net-core azure-devops azure-pipelines azure-artifacts