我可以使用Visual Studio 2010 SP1“发布”向导一次使用MSDeploy部署一个项目。我部署在http。
我的visual studio解决方案包含许多项目,有些依赖于共享DLL。是否可以同步整个解决方案?
我的目标是完全自动化部署。
卡尔
答案 0 :(得分:1)
为什么不直接从命令行使用WDeploy?您可以指定清单文件,在其中放置所有必要的部件以进行部署,然后针对清单msdeploy提供程序进行同步:
Source manifest (Source.xml)
<MyDeployment>
<appHostConfig path="MyLocalSiteName" />
<!--
You can also use iisApp depending on what permissions you have on the remote server.
If you have permissions execute appHostConfig that will create a site if the site does not exist.
-->
<iisApp path="MyLocalSiteName\MyApp" />
<dirPath path="C:\Solution\Project1" />
<dirPath path="C:\Solution\Project2" />
<gacAssembly path="My.GACed.Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111'" />
</MyDeployment>
Destination manifest (Destination.xml)
<MyDeployment>
<appHostConfig path="MyRemoteSiteName" />
<iisApp path="MyRemoteSiteName\MyApp" />
<dirPath path="\\RemoteServerShare\Solution\Project1" />
<dirPath path="\\RemoteServerShare\Solution\Project2" />
<gacAssembly path="My.GACed.Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1111111111'" />
</MyDeployment>
命令行将是:
msdeploy.exe -verb:sync -source:manifest=Source.xml -dest:manifest=Destination.xml,computername=MyServer
...反对MSDeploy代理,或
msdeploy.exe -verb:sync -source:manifest=Source.xml -dest:manifest=Destination.xml,wmsvc=MyServer,username=User2,password=4321,authtype=basic
...反对WMSvc。
This blog post可以帮助您开始使用清单提供程序,this TechNet article可以解释一些有用的提供程序设置。