2016-02-26 95 views
0

作为我的TFS构建的一部分,我正在从GIT的已签出源代码上安装最新版本的一些Windows服务。在TFS中检出GIT文件之前运行命令构建

我的问题来的时候TFS需要重新签文件和一些解决方案文件都仍在使用(因为整个Windows服务运行),整个构建失败(因为正在使用中的文件,它无法清除构建目录)。

在检出文件之前,我没有找到一种方法来执行某个命令或脚本作为一个步骤。

注意我使用了新的Web /脚本化的构建这是在2015年TFS

+0

为什么要在构建过程中检出文件? –

回答

1

不,你不能执行命令或脚本引入了一步系统之前获取源代码(退房)。 vNext构建的第一步是“获取源代码”,这是默认步骤。 “获取资源”后,任务可以运行。

+0

嘿,谢谢你的回答。我需要这样做是因为我在构建结束时安装了Windows服务(Topshelf),并且整个Windows服务是从构建的源中安装的,并且位于整个源代码被检出的同一位置。也就是说,当第二次构建完成时,一些可执行文件和附属程序集因为被使用而被锁定。 –

+0

这就是在“Get source”内置步骤之前需要执行某些命令的原因。 –

+0

最后,我的解决方案是在整个构建过程中使用Powershell命令步骤将这些Windows服务的二进制文件复制到其他位置,并且我还将这些Windows服务作为最后的构建步骤启动。由于这些是从其他位置执行的,因此我不需要将它们作为第一步来阻止它们,而是可以在复制新的二进制文件并再次启动它之前完成它 –

相关问题