如何自动下载TFS在线上的最新构建?

3
作为持续集成流程的一部分,我们想要从 TFS 在线下载最新构建以便在本地执行自动化测试。
您知道是否有自动下载的方法吗?
在 TFS ODATA SDK 中似乎没有这样的方法。我们试图通过编码来完成,但处理“现场身份验证”是一个问题,并且“替代凭据”似乎不是下载文件的选择,一旦我们有了 URL 路径。
2个回答

3
你需要使用常规的TFS .NET客户端对象模型来实现这一点。我已经在这里发布了有关使用替代凭据和一些示例代码的信息。请注意保留HTML标记,但不要写任何解释。

很好,但是连接成功后我该做什么呢?TFS SDK中是否有一个函数可以让我下载构建?或者是否有一种方法可以使用常规的httpConnections并使用类似于webClient.DownloadFileAsync的东西来利用这个连接? - Marco Medrano
它被检入版本控制。您需要使用VersionControlServer类,调用GetItems方法,然后在每个项目上调用DownloadFile方法。 GetItems(): http://msdn.microsoft.com/en-us/library/bb138913(v=vs.110).aspx DownloadFile(): http://msdn.microsoft.com/en-us/library/bb138502.aspx - Buck Hodges
让我们看看,但似乎它不会用于下载已编译的构建(或zip)文件,它似乎只能下载存储库内部的文件。 - Marco Medrano
非常感谢您的回复。不幸的是,对我们来说没有起作用,我认为这是因为代码在GIT存储库中,我们使用另一个代码存储库进行了测试,是的,我们能够导航到程序集。还有其他想法吗? - Marco Medrano
3
如果你的文件在 git 仓库中,有一个叫做 "TFSDropDownloader" 的工具可以帮助你。抱歉目前还有些不完善,我们会在未来的版本中改进它!链接:http://officesharepointci.codeplex.com/SourceControl/changeset/view/83449 - Edward Thomson

0
通常情况下,TFS定义了一个投放文件夹,这通常是一个网络共享文件夹,可能会进一步受到Windows访问控制的限制。既然投放目录代表了最新的成功构建,为什么不直接从那里复制呢?Xcopy可以很好地完成这个任务。
例如,对于部署到网站的情况,将定义一个额外的任务,将构建内容复制到目标目录中。

我认为Marco在谈论的是Team Foundation Service,而不是本地TFS服务器。 - gregpakes
是的,如果有团队基础服务(在线版)这个功能就太好了 :) - Marco Medrano

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接