2017-08-25 88 views
0

我们正在运行TFS 2015 Update 3的前提下。TFS 2015 vNext构建 - 通过脚本获取特定源码

我们有一个构建定义,从Gated checkin构建中获取最新的成功删除以运行测试。对于这些测试,我们还需要相同签入的源代码。 如果我们排队一个新的构建它会得到最新的来源,但它可能是这些来源是不同的变化比最后一次成功的下降。主要是因为它可能需要大约2分钟才能拉动源,如果到那时新的门控签入已经完成,获取之后的任务将获得比已经拉动的源的更新版本。

有没有一种方法可以让构建先运行一个脚本,说出寻找最新成功构建的脚本。然后使用该版本中的变更集编号来执行该特定变更集的获取源?

+0

为什么你需要编译的应用程序的源代码来测试编译的应用程序? –

+0

我们需要重建SonarQube分析的项目,并且我们需要确保源代码与复制的二进制文件的版本相同。 此外,如果我们的验收测试版本构建完成,我们希望确保使用相同版本的源代码,以确保您的测试运行,这意味着您期望的源代码版本。如果开发人员在更新测试后立即使用,则可能会获得更新的版本。 – Nico

+0

@Nico对于SonarQube分析,您可以在同一个构建内完成,为什么要重建?你怎么能确保最新成功构建的变更集编号是你想要的确切变更集?我的意思是如果另一个构建完成,然后触发您的构建。所以,正如我的理解,如果您想确保使用相同版本的源代码,则只需使用特定的变更集手动构建即可。 (Quere build>选择特定的变更集) –

回答

0

我们无法阻止获取源代码步骤获取最新源代码,我们只能添加命令行/批处理脚本或PowerShell步骤来运行脚本以获取特定的变更集版本源代码。然后复制要构建的特定源。

在你的情况下,我认为它没有意义,如上所述,我们无法确定最新成功构建的变更集编号是您想要的确切变更集。

似乎唯一的方法是手动构建,具体构建变更集。