在尝试创建自动TFS 2010团队构建时,我一直在苦苦挣扎,该团队构建使用MSDeploy将网站部署到我们的本地框之一。除了无法找到好的文档之外,问题的很大一部分是该站点使用本机C ++ DLL。我已经设法让事情现在几乎正常工作,并且站点将在构建期间部署但是本机dll通常在使用中,并且如果自上次重新启动以来访问该站点则阻止部署。在将文件部署到远程服务器之前,我希望构建强制应用程序池可以回收或重新启动站点/应用程序。我可以在命令提示符下使用以下命令手动实现此目的:
msdeploy -verb:sync -source:recycleApp -dest:recycleApp="Default Web Site/Application",computerName="MyServer"
如何将其挂钩到构建过程中,以便在发布管道尝试将文件复制到服务器之前发生?
答案 0 :(得分:1)
您可以在工作流程中使用InvokeProcess活动。然后,您可以调用包含上述命令行的批处理脚本。
您可以拖动活动并将其作为发布前的步骤插入(假设您正在使用工作流设计器)。
如果您需要脚本以另一个用户身份运行,那么在链接的博客中会提供大量有用的建议here。
我已经欠SO和Ewald让我们的TFS建立和运行。