使用 tfs.visualstudio.com 上托管的 Team Foundation 服务,可以在构建定义中选择“将构建输出复制到服务器”,这会创建可以通过团队 Web 访问通过 https 下载的放置文件夹的 zip。我真的需要自动下载这个drop,这样我就可以将输入链接到构建管道的下一个阶段。
不幸的是,放置 URL 并不明显,但可以使用TfsDropDownloader创建。
TL;DR - 我无法让 TfsDropDownloader 工作,我希望其他人已经使用此工具或类似方法从https://tfs.visualstudio.com成功下载了一个 drop
使用命令行 TfsDropDownloader.exe 我可以这样做:
TfsDropDownloader.exe /c:"https://MYPROJECTNAME.visualstudio.com/DefaultCollection" /t:"ProjectName" /b:"BuildDefinitionName" /u:username /p:password
...并获得一个空的 zip 文件,其中包含上一次成功构建的正确构建标签名称,例如 BuildDefinitionName_20130611.1.zip
在调试器中运行源代码,这是因为生成的下载 URL:
https://tflonline.visualstudio.com/DefaultCollection/_apis/resources/containers/804/drop/BuildDefinitionName_20130611.1.zip
..返回 application/json 的内容类型,这是不受支持的。此异常被应用程序吞下,但在创建空 zip 文件之前不会。
Team Foundation Service 上的 REST API 是否可能以某种方式更改,因此生成的 URL 不再正确?
请注意,我使用的是在我的 Team Foundation Service 帐户(即不是我的实时 ID)上定义的“备用凭据”——使用其他任何东西都会让我 TF30063:未授权。