我们有几个大的项目,我们在VS2010中使用发布与IIS7。 我们正在发布“Web部署”选项。 现在当User1第一次发布所有的文件时,这个用户是否会对文件进行修改并重新发布,只有修改后的文件才会被发布。 但User2稍后发布(同一个项目),但VS / IIS将再次上传所有文件,而可能只有一个文件被更改。 再次上传所有文件后,User1将再次上传所有文件!
非常烦人的行为和大小为200mb的项目需要将近30分钟才能发布。 有没有IIS / VS可以更好地检查文件是否更改的设置?
您只需要每个应用程序/机器发布一次(尽pipe您可以在每个根机器/机器上发布)。 之后(至less在Web Deploy 2.0中)可以通过执行msdeploy -verb:sync -source:webServer -dest:webServer,computerName=Server2
这是明确提到的
同步操作获取源的转储,目标的转储,然后逐个比较结果。 规则和链接扩展检查每个节点以确定必须添加,删除或更新的内容。 有关规则和链接扩展的详细信息,请参阅Web部署规则和Web部署链接扩展。
编辑1:msdeploy的一点是它可以是持续集成的一部分。 你可以编写一个很好的脚本,每次构build时都会执行它。 话虽如此,如果你去VS发布生成事件,你可以添加该脚本。 你提到的问题可能是一个ACL,我想你可以通过ignoreError来忽略它,或者做一个最终的部署来parsing一个用户的ACL,然后只从那个用户进行同步。 后者也会增加安全性。