我正致力於部署過程的自動化並能夠構建和部署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>