如何从Azure DevOps Pipeline下载单个exe工件而非ZIP压缩包?
直接下载Azure DevOps Pipeline工件中的单个EXE文件(无需ZIP包)
可以实现,不需要下载整个ZIP压缩包,直接通过Azure DevOps的API就能获取单个EXE文件的下载链接,具体操作如下:
方法一:直接构造单个文件的下载URL
如果已经明确知道EXE文件在工件中的路径(因为你的工件是单个EXE,路径通常为/{artifact_name}/{你的文件名}.exe),可以直接使用以下格式的URL:
https://dev.azure.com/{organization}/{project}/_apis/build/builds/{build_number}/artifacts/{artifact_name}/items?path=/{artifact_name}/{your_file.exe}&download=true&api-version=7.1-preview.1
替换其中的占位符:
{organization}:你的Azure DevOps组织名称{project}:项目名称{build_number}:构建编号(也可以用构建ID替代){artifact_name}:工件名称{your_file.exe}:目标EXE文件名
发起请求后,会直接返回该EXE文件,而非ZIP包。
方法二:先查询工件文件结构,再获取下载链接
如果不确定文件路径,可以先调用API获取工件的文件列表,再提取目标EXE的下载链接:
- 调用以下API获取工件内的文件结构:
GET https://dev.azure.com/{organization}/{project}/_apis/build/builds/{build_number}/artifacts/{artifact_name}/items?api-version=7.1-preview.1
- 在返回的JSON响应中,找到
value数组里对应EXE文件的条目,提取其中的downloadUrl字段,这个URL就是直接下载该EXE的链接。
注意事项
- 请求需要携带有效的权限认证:可以在请求头中加入
Authorization: Basic {base64编码的PAT},或者在浏览器中登录Azure DevOps账号后访问URL。 - 确保使用的API版本兼容(示例中用的是
7.1-preview.1,可以根据实际情况调整为稳定版)。
内容的提问来源于stack exchange,提问作者Linux Dev
相关产品推荐
相关产品推荐

