TFS 2015构建自动化:获取源始终在第一个任务之前运行

时间:2017-05-02 16:43:42

标签: c# .net visual-studio tfs continuous-integration

我正在使用TFS 2015 Release Manager来持续集成到我们的项目中。在构建定义中,我在使用Visual Studio Build任务实际构建项目之前,已经将Powershell任务更新为新构建版本的项目程序集。

enter image description here

当我尝试运行构建时,问题就开始了。在启动第一个任务PowerShell来更新项目的程序集之前,始终有一个隐藏的“获取源”任务正在运行。因此,即使我正在更新项目程序集,在构建完成后,更改也不会反映在工件临时目录中。

我的问题:如何防止在Powershell任务之前默认调用此隐藏的获取源代码任务

2 个答案:

答案 0 :(得分:1)

没有办法防止在另一个任务之前调用Get Sources任务。

解决方法是,您可以为CI构建创建另一个构建定义(触发器>检查持续集成),然后在第一个构建更新项目程序集之后触发此构建并签入源代码控制。

答案 1 :(得分:0)

似乎你也想在构建运行的时间点(而不是排队时)真正获得最新,就像Hidden "Getting source"-task runs too soon.

一样

ericsciple 解决方案效果很好,您可以运行批处理脚本作为构建的第一步。

CD /d "%Build_SourcesDirectory%"
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\TF.exe" get * /r

此批处理使用tf.exe命令,该命令需要在构建代理程序计算机中安装VS.该命令应位于构建代理程序的相应路径上。 Microsoft Visual Studio 14.0代表VS2015。