You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TFS 2017构建定义中查看上次成功构建后新增变更集

在TFS 2017构建中查看自上次成功构建以来的变更集

我来帮你搞定这个需求——在TFS 2017里完全可以实现类似TeamCity那样查看变更集的功能,根据不同场景有几种实用方式:

方式一:直接在构建摘要页面查看(最省心)

只要你的构建定义关联了TFVC仓库,TFS 2017默认就会在构建完成后的摘要页展示变更集信息:

  • 打开对应的构建记录,切换到「摘要」标签页
  • 找到Source Control Changes(或Changesets)板块,里面会列出所有自上次成功构建以来,被纳入本次构建的变更集
  • 点击任意变更集编号,就能直接跳转到TFVC仓库查看该变更集的详细内容

方式二:在构建过程中通过脚本输出到日志

如果需要在构建运行时就获取并展示这些变更集(比如输出到日志供后续步骤使用),可以用PowerShell脚本结合TFS命令行工具tf.exe实现:

  1. 在你的构建定义里添加一个PowerShell任务
  2. 将以下脚本粘贴到任务的「脚本」区域:
# 获取当前构建的基础信息
$collectionUri = "$(System.TeamFoundationCollectionUri)"
$teamProject = "$(System.TeamProject)"
$definitionId = "$(System.DefinitionId)"
$currentSourceVersion = "$(Build.SourceVersion)"

# 调用TFS REST API获取最近一次成功构建的源代码版本
$apiUrl = "$collectionUri$teamProject/_apis/build/builds?definitions=$definitionId&statusFilter=succeeded&top=1&api-version=2.0"
$lastSuccessBuild = (Invoke-RestMethod -Uri $apiUrl -UseDefaultCredentials).value[0]
$lastSourceVersion = $lastSuccessBuild.sourceVersion

# 输出两次版本之间的变更集详情
Write-Host "=== 自上次成功构建以来的变更集 ==="
tf history "$(Build.SourcesDirectory)" `
  /version:$lastSourceVersion~$currentSourceVersion `
  /recursive `
  /noprompt `
  /format:detailed
  1. 确保构建代理上已安装TFS命令行工具(tf.exe一般在Visual Studio安装目录下,比如C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer)

方式三:自定义构建通知包含变更集

如果想在构建完成后通过邮件接收变更集信息,可以自定义TFS的通知模板:

  • 进入TFS的「设置」→「通知」
  • 找到或创建一个针对「构建完成」的通知模板
  • 在模板内容中添加变更集占位符(比如@build.changesets),这样通知里就会自动包含本次构建的变更集列表

内容的提问来源于stack exchange,提问作者horato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:36:17