Gud*_*jon 5 iis team-build msdeploy
我正在尝试使用MSDeploy部署网站,并使用其中的一些构建团队...
/p:DeployOnBuild
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=InProc
/p:MSDeployServiceURL=localhost
/p:DeployIISAppPath="Default Web Site"
Run Code Online (Sandbox Code Playgroud)
有没有办法在自定义应用程序池中设置此网站?
如果您使用的是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>"
Run Code Online (Sandbox Code Playgroud)
因此,如果IIS编号为1,则您的虚拟目录为"MyDirectory",而应用程序池名为".NET4.0",命令为.
cscript //nologo C:\Inetpub\AdminScripts\adsutil.vbs
SET w3svc/1/Root/MyDirectory/AppPoolid ".NET4.0"
Run Code Online (Sandbox Code Playgroud)
然后,您可以运行MSDeploy,将此批处理文件作为参数传递并在远程计算机上运行它:
MSDeploy
-verb:sync
-source:runCommand="<path to batch file>",waitinterval=5000
-dest:auto,computername=<computer name>
Run Code Online (Sandbox Code Playgroud)
<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
Run Code Online (Sandbox Code Playgroud)
创建一个应用程序池:
CSCRIPT //nologo %dir%\adsutil.vbs
CREATE w3svc/AppPools/AppPoolName IISApplicationPool
Run Code Online (Sandbox Code Playgroud)
感谢http://justsamson.com/2010/06/14/create-virtual-directory-in-iis-6-0-via-command-line/,命令行脚本可以执行各种功能.
| 归档时间: |
|
| 查看次数: |
7814 次 |
| 最近记录: |