如何每次构建到同一个文件夹

时间:2017-06-14 22:45:32

标签: visual-studio-2013 tfsbuild tfs2013

在TFS中,Build号格式通常如下所示:

$(BuildDefinitionName)_ $(日期:YYYYMMDD)$(启:.R)

但是,我只想保留1个构建,我希望每次构建到同一个文件夹。所以我尝试将其更改为:

$(BuildDefinitionName)

但问题是这只能运行一次,然后会出现一个错误,即之后构建号已经存在。我想构建到同一个文件夹,以便我可以编写一个脚本来压缩最新版本,将其移动到另一个地方,然后解压缩它,如果我没有必须处理它会更容易编写代码来弄清楚最新的文件夹名称是什么。

有没有办法建立一个不会改变的文件夹名称?

1 个答案:

答案 0 :(得分:0)

这是按设计的,每个完成的构建都应具有唯一的构建号/名称。否则你会得到上面的错误。

  

<强> $(启:.R)

     

使用$(Rev:.rr)确保每个已完成的构建都具有唯一性   名称。当构建完成时,如果构建号中没有其他内容   已更改,Rev整数值加1。

作为一种解决方法:对于vNext构建,您可以使用copy Files任务在构建管道期间将构建输出复制到同一文件夹。要确保始终只获取最新版本,可以在复制任务之前添加powershell script以清除/删除该特殊目标文件夹中的文件。

对于XAML构建,您需要自定义构建模板并在构建模板中添加默认的 CopyDirectory 活动,以将构建结果复制到指定的放置位置。详细步骤请参考此博客。还要添加一个预构建脚本来执行清理操作。