【发布时间】:2014-12-28 07:16:32
【问题描述】:
从 TFS 执行 get-latest 时,所有时间戳都设置为执行 get 操作的时间。在运行 msdeploy 以执行同步时,源中的时间戳与目标服务器上的时间戳进行比较。当然,这意味着使用 TFS + msdeploy,每个文件都会在每次构建后推送到目标服务器,除非
- 您使用增量构建
- 构建控制器的池中只有一个构建代理。
如果构建定义设置为进行干净构建,或者如果您想使用多个构建代理,那么这将不再有效。
这个话题一直都在出现,每隔几年我就会换行一次,以防万一发生了变化。这可以通过几种不同的方式解决:
- TFS 将工作区文件的时间戳设置为上次签入时间。
- TFS 将工作区文件上的时间戳设置为文件本身上次签入时的上次修改时间。
- msdeploy 使用一些基于内容的比较方法(例如 MD5)来比较文件,而不是时间戳比较。
- 还有别的吗?
我不知道去哪里搜索这些东西,因为这两个团队都非常不透明——尤其是 webdeploy 团队。这个问题已经解决了吗?
【问题讨论】:
标签: deployment tfs build msdeploy webdeploy