我们正试图弄清楚如何自动化我们的网站部署。我们选择了一个现有项目,并开始玩游戏。
首先,我使用VS2012中的“发布”向导来创建Web部署包。然后,我们尝试通过IIS管理器将软件包部署为网站,并且成功没有问题。我们以为我们差不多了。
接下来要学习如何从命令行运行它,以便我们编写脚本。这让我们头疼不已。
我们一直在使用msdeploy.exe,以及发布向导创建的.cmd文件,虽然两种方法似乎都将软件包安装为虚拟目录,但两者都不会将软件包安装为root用户网站。
浏览网页,我遇到了这个问题:
在同步操作中,iisApp提供程序将内容复制到您指定的目标站点下的文件夹,并将目标文件夹标记为应用程序。 iisApp提供商无法创建网站。 iisApp提供商不会在不存在的站点下创建应用程序。
和
如果要同步网站及其相关配置,请使用appHostConfig提供程序。
此时,我们不知道关于iisApp或appHostConfig的bean,或者其他什么。我们没有创建一个使用其中一个的包,VS2012。在这一点上,我们还不知道如何说服VS2012的网络发布来创建appHostConfig包,就此而言,我不知道我们是否愿意。
就是这样 - 无论给定的网站是作为根应用程序安装还是作为虚拟目录安装都不是开发人员控制的 - 这是由实施团队做出的决定。或者测试团队通常以两种方式安装任何给定的网站,以确保两者都有效。
由于IIS似乎能够设法将此软件包安装为根网站,因此必须有一种方法可以让msdeploy执行此操作。
但是怎么样?