获取与Build相关的变更集

时间:2015-02-23 22:29:00

标签: powershell tfs tfsbuild

在TFS(2013 Update 4)中,我尝试编写PowerShell脚本来复制绑定到构建的已修改SQL文件。如果我知道变更集编号,我可以获取并复制相应的文件,这通常就足够了(我可以在合并触发构建时使用TF_BUILD_SOURCEGETVERSION环境变量)。但是,偶尔会有一些与TFS中的构建相关联的变更集。

使用内部版本号,如何获取变更集列表?

2 个答案:

答案 0 :(得分:0)

您需要使用您的内部版本号来查找以前的内部版本号。然后,您将拥有一个开始更改集(从上一个版本)到当前更改集(当前版本)。

然后,您可以使用API​​消除差距,找到所有干预的变更集。

答案 1 :(得分:0)

所以我在上次参与时已经做到了这一点,实质上我们通过每次构建获取所有SQL相关文件来解决它并生成包含有关每个文件,名称,版本以及最重要的信息的csv文件。 MD5哈希的文件。然后,在每个部署中,我们创建/更新/插入到我们的数据库中的特殊部署表中,对该数据库执行所有SQL“运行”。然后我们的构建脚本实际上只是生成csv文件,但我们的部署脚本具有智能和检查以查看csv文件与目标数据库中是否有任何更改,并且仅应用更改(新SQL,使用新MD5更改SQL)。所以我们基本上使用两个脚本。我不能分享脚本,但你有这个想法。亚历山大也在看这篇文章 Automating SQL Server Database Deployments: Scripting Details他解释了很多关于数据库迁移的内容。