MSDeploy和“维护站点”页面

时间:2011-01-26 23:55:53

标签: asp.net iis-7 msdeploy

我是MSDeploy和IIS管理员的新手。

为了显示“维护中的网站”页面,我们正在寻找两种选择。

1)有一个app_Offline.htm页面,并在维护开始时将其同步到服务器。

2)创建一个具有完全不同网站的单独文件夹(可以显示比app_offline页面更多的动态信息)。在维护期间,建议我们在更新站点时更改站点的虚拟文件夹映射以指向此其他文件夹。

有没有办法使用MSDeploy将虚拟文件夹更改为指向另一个文件夹?有没有其他方法可以通过脚本执行此操作,而不必转到每个服务器并手动更改文件夹?

1 个答案:

答案 0 :(得分:16)

使用MSDeploy设置app_offline

我们过去所做的是使用Msdeploy.exe编写部署脚本。我们执行3个命令。

  1. 第一个命令部署app_offline.htm页面。

    msdeploy -verb:sync -source:filePath = c:\ location \ app_Offline.htm -dest:filePath = c:\ site \ app_Offline.htm

  2. 其次,我们实际使用相同的“同步”动词部署网站,但使用的是包。

  3. 第三,我们将使用MSdeploy删除app_offline.htm。

    msdeploy -verb:delete -dest:filePath = c:\ site \ app_Offline.htm

  4. 您可以使用“computername”目标开关跨多个服务器执行msdeploy。喜欢:

    msdeploy -verb:sync -source:filePath=c:\location\app_Offline.htm,computername=sourcemachine  -dest:filePath=c:\site\app_Offline.htm,computername=destmachine  
    

    您可以在此处找到有关通过命令行使用msdeploy的所有不同参数的更多信息:http://technet.microsoft.com/en-us/library/dd568991%28WS.10%29.aspx

    使用MSDeploy创建虚拟目录

    如果您仍想创建虚拟目录,我建议在每个目标服务器上创建一个PowerShell脚本,以便为每个服务器执行此操作。您的powershell脚本中会包含以下内容:

    New-Item'IIS:\ Sites \ Default Web Site \ VirtualDirName'-type VirtualDirectory -physicalPath c:\ test \ virtualDirectory1

    您可以在此处找到有关使用powershell的更多信息: http://learn.iis.net/page.aspx/433/powershell-snap-in-creating-web-sites-web-applications-virtual-directories-and-application-pools/

    然后使用msdeploy执行umandizing“runco​​mmand”提供程序。您将为每个服务器执行此行。

    msdeploy -verb:sync -source:runCommand="net start createvirtualdir.ps" -dest:computername=destmachine