gpt4 book ai didi

iis - 使用 MSDeploy 和 TFS 2010 设置应用程序池

转载 作者:行者123 更新时间:2023-12-02 02:37:24 27 4
gpt4 key购买 nike

我正在尝试使用 MSDeploy 部署网站,并使用其中的一些进行团队构建...

/p:DeployOnBuild
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=InProc
/p:MSDeployServiceURL=localhost
/p:DeployIISAppPath="Default Web Site"

有没有办法在自定义应用程序池中设置此网站?

最佳答案

如果您使用的是 IIS 7,则可以使用 appPoolProvider 将应用程序池同步到远程服务器。请参阅:

http://technet.microsoft.com/en-us/library/dd569070(WS.10).aspx

http://blog.torresdal.net/2010/08/16/NoClickWebDeploymentPart2WebDeployAkaMsdeploy.aspx

但是,我无法真正让它正常工作,如果您使用的是 IIS 6,那么无论如何这都不起作用。不过,您可以利用 MSDeploy 在远程服务器上运行几个命令来设置应用程序池(并在网站上注册 .NET 版本)。

首先,创建一个批处理文件,其中包含类似于以下内容的内容:

cscript //nologo C:\Inetpub\AdminScripts\adsutil.vbs 
SET w3svc/<IIS number>/Root/<virtual directory>/AppPoolid "<app pool name>"

因此,如果 IIS 编号为 1,您的虚拟目录为“MyDirectory”并且应用程序池名为“.NET4.0”,则命令将为。

cscript //nologo C:\Inetpub\AdminScripts\adsutil.vbs 
SET w3svc/1/Root/MyDirectory/AppPoolid ".NET4.0"

然后您可以运行 MSDeploy,将此批处理文件作为参数传递并在远程计算机上运行它:

MSDeploy 
-verb:sync
-source:runCommand="<path to batch file>",waitinterval=5000
-dest:auto,computername=<computer name>

哪里<path to batch file>是您上面刚刚创建的批处理文件的完整路径,并且是您要运行该批处理文件的计算机。这是描述 runCommand 的链接参数:http://technet.microsoft.com/en-us/library/ee619740(WS.10).aspx

我确信您可以将其设置为 TFS 中的构建步骤。我们制作了一个小的 .NET 实用程序,将其作为部署过程的一部分进行调用,用于创建这些批处理文件并运行 MSDeploy 命令。

您还可以使用相同的方法执行其他可能对您有用的操作:
注册 IIS 版本:

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe 
-s w3svc/1/root/MyDirectory

创建应用程序池:

CSCRIPT //nologo %dir%\adsutil.vbs 
CREATE w3svc/AppPools/AppPoolName IISApplicationPool

感谢http://justsamson.com/2010/06/14/create-virtual-directory-in-iis-6-0-via-command-line/让命令行脚本执行各种功能。

关于iis - 使用 MSDeploy 和 TFS 2010 设置应用程序池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4462001/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com