我在TFS中有一个相当大的MVC2项目,它在checkin上自动构建(持续集成)
目前,完全构建的版本被转储到我们的开发IIS服务器上的网络共享上。 \\Server\wwwrootLatest
TFS当然会创建很多子文件夹,因为它只是在进行构建,它甚至不知道它的drop目录是一个wwwroot。
这意味着要实际使用构建,我们需要手动创建一个指向相应目录的IIS应用程序 - 这会破坏练习的整个对象。
当我们手动发布到该服务器时,我们使用“文件系统”作为方法,只是覆盖UNC共享中的文件\\Server\wwwroot
(当发布到其他环境时,我们使用全开MSDeploy。)
我想做的是说服TFS在构建完成后执行“文件系统”发布,并复制我们在手动发布上执行的操作,例如:
投放目录为\\Server\Build
,这会产生类似\\Server\Build\Project\Date.Rev\
完成后,我们希望它发布到\\Server\wwwrootLatest
- 然后我们可以设置应用程序一次,该应用程序将始终包含最新版本,但如果需要,仍然会有完整的历史记录。
我能够找到的唯一示例在构建定义中使用MSBuild命令(很好),但都使用MSDeploy进行全面发布。我不确定如何自动完成我想做的事情
任何帮助表示感谢。
答案 0 :(得分:2)
在您的drop文件夹中,会自动生成名为_PublishedWebsites
的文件夹。它包含您需要放入wwwroot
的文件。您可以使用CopyDirectory
构建活动自动复制它们。