设置一个小型ASP.Net Web应用程序,通过TFS 2017(Update 2)持续集成和部署来构建和发布。这一切似乎都运行良好,我检查了代码更改,并且更改出现在我们的测试服务器上。
但是,当我查看构建/发布日志时,它正在部署我的Web应用程序项目中的所有文件,就像它们是新文件一样。这包括没有改变的图像等。
我如何,a)将其限制为仅部署已更改的文件,或b)仅部署必要的Web应用程序文件?
以下是TFS中的构建和发布定义,以及构建和发布日志。
2018-03-13T21:46:56.8010920Z ##[section]Starting: Build
2018-03-13T21:46:56.8167174Z Current agent version: '2.117.2'
2018-03-13T21:46:57.5354799Z ##[section]Starting: Initialize Job
...
2018-03-13T07:49:31.8449259Z ##[section]Starting: Release
2018-03-13T07:49:31.8605444Z Current agent version: '2.117.2'
2018-03-13T07:49:32.6262832Z ##[section]Starting: Initialize Job
...
干杯 菲尔
答案 0 :(得分:0)
使用Copy Files task,没有默认匹配模式过滤器只能复制更改的文件。
对于a),您可以尝试在版本定义中使用powershell脚本来满足您的要求。
删除所有文件(递归),其时间戳为< (现在 - x分钟),以及之后的所有空目录。在这条路上 工件目录包含ONLY CHANGED文件(整个文件 结构(已更改的文件)保留)。现在发布只会提供 这些文件到目的地。
更多详细信息请参阅此类似问题:TFS 2017 - how build/deliver only changed files?
对于b),您可以尝试使用构建和部署模板,默认情况下,在MSBuild参数中,参数为:/p:OutDir="$(build.binariesdirectory)\\"
看一下这个问题:Build and Deploy a Web Application with TFS 2017 using Web Deploy Package