我已经使用 MSDeploy/WebDeploy 来更新我的 Web 应用程序 - 这解决了我迄今为止设置的大约 90% 的部署问题。
此外,我想做的是将可执行文件(实际上是文件夹的内容)复制到服务器,然后运行该可执行文件(这会更新架构)。
我可以看到这应该是可能的,但我正在努力将各个部分组合在一起(这显然是一个边缘情况)。
具体来说:
- 我不想将可执行文件(文件夹)复制到 Web 目录中。
- 我需要考虑运行可执行文件的结果(对于返回失败状态很有用,尽管如果很重要,这将被部署后测试抛出)
因此,无论什么具体命令,按什么顺序 - 如果我能找到一个模式,我可以让它工作,但我正在努力找出一个模式
Notes:
我确实想到,我可以将文件夹复制到 Web 目录,运行代码,然后再次删除该文件夹,但我对此感到不舒服,无论如何,最好在部署后在服务器上提供代码。
还值得注意的是,我真的really对我维护数据库模式的方式感到满意,因此可执行文件正在执行的操作这一事实对于问题来说是偶然的
Web Deploy 实际上在这里提供了相当多的选项。您选择哪些选项取决于您想要在一个命令中放入多少内容。
要将文件文件夹传输到目的地,您可以使用 Web 部署dirPath http://technet.microsoft.com/en-us/library/ee207412%28WS.10%29.aspx提供商将内容复制到您选择的位置。要复制单个文件,您可以使用filePath http://technet.microsoft.com/en-us/library/ee207414%28WS.10%29.aspx提供者。如果您的复制源有许多小文件,Web Deploy 实际上比网络上的 RoboCopy 性能更高(请参阅我的博客文章Web 部署与 Robocopy http://blogs.iis.net/timamm/archive/2010/03/05/web-deploy-vs-robocopy.aspx).
要运行复制到目标服务器的命令文件,您可以使用运行命令 http://technet.microsoft.com/en-us/library/ee619740%28WS.10%29.aspx提供者。 (这是一个重要的问题,我一定会仔细阅读。)
请注意,此时我们谈论的是至少两个单独的 Web 部署命令,不包括任何“常见”Web 部署操作,例如部署网站或 Web 服务器。
但是,如果您的目标是在一次 Web 部署操作中实现所有目标,则可以使用manifest http://technet.microsoft.com/en-us/library/dd569104%28WS.10%29.aspx提供者。创建一个自定义清单文件,指定一系列将依次执行的 Web 部署提供程序操作。然后,在 Web 部署命令中,将清单提供程序指向自定义清单文件。有关此方法的更多信息,请参阅创建并同步自定义清单 http://technet.microsoft.com/en-us/library/dd568976%28WS.10%29.aspx.
如果您确实使用清单提供程序,您可以指定dirPath清单文件中的提供程序来复制一个或多个文件,然后指定运行命令提供程序在后续行中实际运行您复制的可执行文件。
最后,距离使用清单文件一步之遥的方法是使用preSync and/or postSync命令行切换为在实际 Web 部署操作发生之前或之后在目标服务器上运行命令。您可以找到更多信息preSync and postSync on the Web部署操作设置 http://technet.microsoft.com/en-us/library/dd569089%28WS.10%29.aspx page.
所有引用的页面都有语法示例,因此应该有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)