【问题标题】:Programmatically access tfs build output以编程方式访问 tfs 构建输出
【发布时间】:2015-06-12 13:49:20
【问题描述】:

我正在尝试编写一个 powershell 脚本以允许用户指定一个 tfs 构建 ID(或更改集 ID)并将构建输出下载到当前目录。我将构建配置为将输出复制到服务器,这意味着在该目录中只能访问最新的构建输出。但是,从 Visual Studio 或 TFS Web Access,我可以将 drop 下载为 .zip 文件。

如何以编程方式访问此 .zip 文件(在 powershell 中,或者即使我可以找到 VB 代码来执行此操作,我也可以将其转换为 powershell 脚本)?我是否在考虑构建输出错误,并且有一种更简单、更明显的方法来处理这个问题?旧版本的构建输出是存储在服务器上的其他位置,还是存储在数据库中?我是否应该以不同的方式配置构建以将每个构建存储在单独的文件夹中,而不是覆盖单个文件夹中的每个构建?

【问题讨论】:

    标签: vb.net powershell tfs tfsbuild


    【解决方案1】:

    您可以通过正确构建的 URL 访问下载 zip。例如:

    https://{AccountName}.visualstudio.com/DefaultCollection/{TeamProject}/_apis/build/builds/{BuildId}/artifacts/drop?%24format=zip
    

    【讨论】:

    • 谢谢迪伦!这应该适用于本地 TFS 2013 吗?这不是为了我,但你确实帮助我走上了正确的道路。 TFS Web Access 没有任何机制来查看下载 url,但我嗅探了网络流量以找出一个稍微不同的 url 格式确实有效:http://{MyTFSServer}/{TeamProjectCollection}/{TeamProject}/_api /_build/ItemContent?buildUri=vstfs:///Build/Build/{BuildId}&path=/drop&__v=5 剩下的唯一问题是我在哪里可以在 Web 访问(或 VS Team Explorer)中找到构建 ID?排队的构建列表有一个 ID 列,但完成的构建列表没有
    • 我发现了构建 ID 问题 - 我更新了构建过程定义中的“构建编号格式”设置以使用 $(BuildID) 宏,现在非常明显
    猜你喜欢
    • 1970-01-01
    • 2011-11-27
    • 2015-08-31
    • 1970-01-01
    • 1970-01-01
    • 2012-06-25
    • 2011-05-21
    • 2016-05-07
    • 2010-09-05
    相关资源
    最近更新 更多