我正致力于部署过程的自动化并能够构建和部署asp.net网站。Web部署是否可以创建IIS站点和应用程序池
除此之外,我还想为新创建的IIS创建IIS站点和应用程序池(如果不存在)。
Web Deploy这可能吗?或者做同样的最佳方法是什么?
我正致力于部署过程的自动化并能够构建和部署asp.net网站。Web部署是否可以创建IIS站点和应用程序池
除此之外,我还想为新创建的IIS创建IIS站点和应用程序池(如果不存在)。
Web Deploy这可能吗?或者做同样的最佳方法是什么?
考虑使用Miceosoft.Web.Administration命名空间中的ServerManager类。特别是,ApplicationPools和Sites属性。 例如,
ServerManager sm = new ServerManager();
Site site = serverMgr.Sites.Add(“MySiteName”, “C:\\inetpub\\wwwroot”, 8080);
sm.ApplicationPools.Add(“MyAppPool”);
sm.CommitChanges()
欲了解更多信息,请参阅https://msdn.microsoft.com/en-us/library/microsoft.web.administration.servermanager(v=vs.90).aspx
希望这有助于。
还有MSBuildExtensionPack:
https://github.com/mikefourie/MSBuildExtensionPack
我想,说的MSBuild-家庭的-行动采用Microsoft.Web.Administration命名空间的工作它的魔力在IIS 7中创建一个新的网站而言和脚本看起来像这样(没有在我自己的服务器上测试过这个还有):
<Target Name="ProvisionIIS7WebSite" DependsOnTargets="CreateDeploymentNumber">
<PropertyGroup>
<WebSiteName>$(BaseDeploymentName)$(DeploymentNumber)</WebSiteName>
<PortNumber>$(DeploymentNumber)</PortNumber>
</PropertyGroup>
<ItemGroup>
<WebApplication Include="/MyApp">
<PhysicalPath>$(WebSitePath)</PhysicalPath>
</WebApplication>
<VirtualDirectory Include="/MyVdir">
<ApplicationPath>/MyApp</ApplicationPath>
<PhysicalPath>$(WebSitePath)</PhysicalPath>
</VirtualDirectory>
</ItemGroup>
<!-- Create new site -->
<MSBuild.ExtensionPack.Web.Iis7Website TaskAction="Create"
Name="$(WebSiteName)"
Port="$(PortNumber)"
Path="$(WebSitePath)"
AppPool="$(WebSiteAppPool)"
Applications="@(WebApplication)"
VirtualDirectories="@(VirtualDirectory)">
<Output TaskParameter="SiteID" PropertyName="WebSiteID" />
</MSBuild.ExtensionPack.Web.Iis7Website>
<Message Text="Created website with ID $(WebSiteID)" />
</Target>