【问题标题】:How to check TFS2013 Collection for Builds如何检查构建的 TFS2013 集合
【发布时间】:2016-11-14 16:31:57
【问题描述】:

寻找一种方法来查找集合中的项目如何构建,而不必逐个项目检查以找出答案。

简单的项目名称,上面有一个构建。

【问题讨论】:

  • 项目的“名称”是什么?您有构建定义的 cs/vbproj 或 sln 文件的名称?

标签: tfs


【解决方案1】:

不,你不可能没有简单的方法来实现这一点。构建定义是在 Team Explorer - Build- New Build Definition 上创建的。这是项目级别,而不是团队项目集合级别。来源链接:Create or edit a build definition


更新

如果您想在 Team Explore 中获得类似的构建结果,您可能必须使用 TFS API 来实现此目的,即使用 IBuildServer.QueryBuilds

您必须先知道项目名称,然后才能根据日期过滤器查询构建。您不需要构建相关的工作项,也不需要相关的变更集或一堆其他东西。这提高了性能,示例代码如下:

var buildSpec = buildServer.CreateBuildDetailSpec(teamProjectName, buildDefinition);
buildSpec.InformationTypes = null;
buildSpec.MinFinishTime = DateTime.Now.AddHours(-lastXHours);
var buildDetails = buildServer.QueryBuilds(buildSpec).Builds;

更多详情请参考这篇博客:Fastest way to get list of builds using IBuildServer.QueryBuilds 和这个TFS API - How to query builds independent of which build definition they belong to

【讨论】:

  • 我对 TFS 拥有全方位的管理员权限。所以我可以进入每个项目,但我有 2 个集合,包含 100 多个项目。因此,必须使用 Team Explore 检查每一个,因为它变得非常乏味。唯一我无法访问的是构建控制器或知道有多少是其他的,因为它是由需要它的团队管理的。
  • 您想要获取构建定义还是仅获取构建?如果您想在 Team Explore 中获得类似的构建结果,您可能必须使用 TFS API 来实现此目的,即使用 IBuildServer.QueryBuilds。详情见此博客:Fastest way to get list of builds using IBuildServer.QueryBuilds
【解决方案2】:

如果您提到的项目是 TeamProject,您可以创建一个简单的 powershell 脚本来通过 TFS API 获取:

$collectionurl = "http://xxxxxxxx/";
$tfs = [Microsoft.TeamFoundation.Client.TfsTeamProjectCollectionFactory]::GetTeamProjectCollection($collectionurl);
$buildservice = $tfs.GetService([Microsoft.TeamFoundation.Build.Client.IBuildServer]);
$workitemservice = $tfs.GetService([Microsoft.TeamFoundation.WorkItemTracking.Client.WorkItemStore]);
$projects = $workitemservice.Projects;
foreach ($project in $projects)
{
    $builds = $buildservice.QueryBuilds($project.Name);
    Write-Host $project.Name;
    Write-Host "Build Count:"  $builds.Count;
    Write-Host "*****************************";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多