MSDeploy 和“维护中的站点”页
我是 MSDeploy 和 IIS 管理员的新手。
为了显示“网站正在维护”页面,我们正在寻找两种替代方案。
1)有一个app_Offline.htm页面并在维护开始时将其同步到服务器。
2)使用完全不同的站点创建一个单独的文件夹(它可以显示比 app_offline 页面更多的动态信息)。在维护期间,建议我们在更新站点时更改站点的虚拟文件夹映射以指向另一个文件夹。
有没有办法使用 MSDeploy 将虚拟文件夹更改为指向另一个文件夹?有没有其他方法可以通过脚本来执行此操作,而不必转到每个服务器并手动更改文件夹?
I am new to MSDeploy as well as IIS admin.
In order to show a "site under maintenance" page we are looking at two alternatives.
1) Have an app_Offline.htm page and sync it to the server when maintenance starts.
2) Create a separate folder with a totally different site (which can show a lot more dynamic information than what we can with the app_offline page). During maintenance, it is being suggested that we change the virtual folder mapping of the site to point to this other folder while we work on updating the site.
Is there a way to change the virtual folder to point to another folder using MSDeploy? Is there any other way to do this via a script rather than having to go to each server and manually change the folder ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 MSDeploy 设置 app_offline
我们过去所做的是使用 Msdeploy.exe 编写部署脚本。我们执行 3 个命令。
第一个命令部署 app_offline.htm 页面。
msdeploy -verb:sync -source:filePath=c:\location\app_Offline.htm -dest:filePath=c:\site\app_Offline.htm
其次,我们实际上使用相同的“sync”动词部署站点,但使用包裹。
第三,我们将使用 MSdeploy 删除 app_offline.htm。
msdeploy -verb:delete -dest:filePath=c:\site\app_Offline.htm
您可以使用“computername”目标开关跨多个服务器执行 msdeploy。例如:
您可以在此处找到有关通过命令行使用 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 执行“runcommand”提供程序。您将在每个服务器上执行此行。
Set app_offline using MSDeploy
What we've done in the past is to script our deployments using Msdeploy.exe. We execute 3 commands.
The first command deploys the app_offline.htm page.
msdeploy -verb:sync -source:filePath=c:\location\app_Offline.htm -dest:filePath=c:\site\app_Offline.htm
Second we actually deploy the site using that same "sync" verb but using a package.
Third we'll remove the app_offline.htm using MSdeploy.
msdeploy -verb:delete -dest:filePath=c:\site\app_Offline.htm
You can execute msdeploy across multiple servers using the "computername" destination switch. Like:
You can find more information about all the different parameters for using msdeploy via command line here: http://technet.microsoft.com/en-us/library/dd568991%28WS.10%29.aspx
Creating a virtual directory using MSDeploy
If you still want to create the virtual directory what I'd suggest is creating a powershell script on each destination sever that would do this for each server. Your powershell script would have something like this in it:
New-Item 'IIS:\Sites\Default Web Site\VirtualDirName' -type VirtualDirectory -physicalPath c:\test\virtualDirectory1
You can find more info about using powershell for this here:
http://learn.iis.net/page.aspx/433/powershell-snap-in-creating-web-sites-web-applications-virtual-directories-and-application-pools/
Then execute using msdeploy utalizing the "runcommand" provider. You would execute this line per server.