我正在使用TFS 2017,关于标题,我找到了一个术语:增量构建 - 但是,我找不到在哪里设置它。我尝试在'中添加增量参数构建参数' (/ p:IncrementalBuild = true)但总是得到错误,表示这是错误的参数。 是否可以交付(或构建和交付)仅更改的文件?
答案 0 :(得分:2)
如果您想要增量构建。当您添加 Visual Studio Build / MSBuild任务来构建项目时,只需取消选中 清除选项。因此,它将同步源并仅从第二次获取更改的文件进行构建。看到 Build task Arguments了解详情。
清除选项:如果要将其设为增量版本,请设置为False。此设置可能会缩短您的构建时间, 特别是如果您的代码库很大。这个选项没有实际意义 除非您还将Clean repository设置为False。
如果要重建代码项目中的所有代码,请设置为True。 这相当于MSBuild
/target:clean argument
。
假设您要将唯一更改的文件发送到特定位置,您可以添加复制文件步骤将已更改的文件复制到该位置。
答案 1 :(得分:2)
让我们假设我是如何解决这个问题的(如果有人有类似的问题):
由于TFS 2017总是提供所有文件 - 已更改且未更改,但我只需要更改,我解决了以下问题:
由于传输到Artifact的文件保留时间戳(未更改的文件具有last_edited时间戳,编辑的文件具有新的当前时间戳),我决定创建FIXED工件目录(不依赖于构建版本,但始终相同)。然后我写了PowerShell脚本(作为第一个发布步骤),删除所有文件(递归),其时间戳为< (现在 - x分钟),以及之后的所有空目录。 通过这种方式,Artifact目录包含ONLY CHANGED文件(保留整个文件结构(已更改的文件))。 Now Release只会将这些文件传送到目的地。
干杯! :)