MSDeploy和"维护站点"页面

Dev*_*ult 9 asp.net iis-7 msdeploy

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

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

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

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

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

Pau*_*mke 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

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

msdeploy -verb:sync -source:filePath=c:\location\app_Offline.htm,computername=sourcemachine  -dest:filePath=c:\site\app_Offline.htm,computername=destmachine  
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到有关通过命令行使用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-应用程序池/

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

msdeploy -verb:sync -source:runCommand="net start createvirtualdir.ps" -dest:computername=destmachine
Run Code Online (Sandbox Code Playgroud)