Azure devops 我可以从Azure Devops获得WPF应用程序的下载链接吗
我正在开发一个Windows WPF应用程序,我已经为它在Azure Devops中建立了一个构建管道。我的问题是,在成功完成构建之后,我似乎无法找到任何方法来下载工件 是否可能以某种方式获得包含所有构建文件的zip的链接。我怎样才能得到我的文件?我不想发布到NPM或NuGet或类似的东西,现在就下载到我的桌面上 谢谢 编辑:这是我的构建配置Azure devops 我可以从Azure Devops获得WPF应用程序的下载链接吗,azure-devops,azure-pipelines,Azure Devops,Azure Pipelines,我正在开发一个Windows WPF应用程序,我已经为它在Azure Devops中建立了一个构建管道。我的问题是,在成功完成构建之后,我似乎无法找到任何方法来下载工件 是否可能以某种方式获得包含所有构建文件的zip的链接。我怎样才能得到我的文件?我不想发布到NPM或NuGet或类似的东西,现在就下载到我的桌面上 谢谢 编辑:这是我的构建配置 trigger: - master pr: - master pool: vmImage: 'VS2017-Win2016' variables
trigger:
- master
pr:
- master
pool:
vmImage: 'VS2017-Win2016'
variables:
solution: '**/*.sln'
buildPlatform: 'x64'
buildConfiguration: 'Release'
steps:
- task: NuGetToolInstaller@0
displayName: 'NuGet Tool Installer'
- task: NuGetCommand@2
displayName: 'Restore NuGet dependencies'
inputs:
restoreSolution: '$(solution)'
- task: VSBuild@1
displayName: 'Build $(buildConfiguration) $(buildPlatform)'
inputs:
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
- task: CopyFiles@2
displayName: 'Copy files'
inputs:
Contents: '_buildOutput\\**\\*.dll'
TargetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
displayName: 'Publishing artifact drop'
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
artifactName: 'drop'
publishLocation: 'filePath'
targetPath: '$(Build.ArtifactStagingDirectory)\\outdir\\$(Build.DefinitionName)\\$(Build.BuildNumber)'
- task: DownloadBuildArtifacts@0
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'drop'
downloadPath: '$(System.ArtifactsDirectory)'
您可以使用两种方式:
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: 'Your folder with build results'
publishLocation: FilePath
TargetPath: '\\my\share\$(Build.DefinitionName)\$(Build.BuildNumber)'
更新2:
如果尝试使用以下格式下载:
https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/artifacts?artifactName=drop&api-version=5.0
您将获得带有URL的json:
您可以将“&%24format=zip”添加到url的末尾,并获得一个zip文件:
更新3
这是我的yaml构建定义中从标准构建转换而来的部分:
- task: CopyFiles@2
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
inputs:
SourceFolder: '$(build.sourcesdirectory)'
Contents: '**\bin\$(buildConfiguration)\**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
您是否参考了REST API文档以了解构建工件?您可以使用DownloadBuildArtifacts进行发布,而构建定义不需要它。1。我好像没有“人工制品”按钮。我正在查看管道->构建页面。2.我在哪里可以找到工件名?其他的我都认识。但是如果没有artifactName,它就不起作用了。谢谢我想我可能已经发现了一些有用的东西:是的,您必须使用发布工件任务来查看构建结果上的工件按钮。我已经更新了我的答案。太好了!我正在进步。但我只是在尝试从浏览器下载时得到一个json响应。。。是因为我没有正确设置内容类型,还是缺少其他内容?请尝试将&%24format=zip添加到您的url。我已经更新了答案。
https://dev.azure.com/{organization}/{project}/_apis/build/builds/{buildId}/artifacts?artifactName=drop&api-version=5.0
- task: CopyFiles@2
displayName: 'Copy Files to: $(build.artifactstagingdirectory)'
inputs:
SourceFolder: '$(build.sourcesdirectory)'
Contents: '**\bin\$(buildConfiguration)\**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
displayName: 'Publish Artifact: drop'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'