2016-08-30 1 views
1

Ich arbeite an Automatisierung des Bereitstellungsprozesses und in der Lage, ASP.NET-Website zu erstellen und bereitzustellen.Kann Web Deploy IIS Site und Anwendungspool erstellen

Darüber hinaus möchte ich IIS Site und Application Pool für neu erstellte IIS erstellen, wenn nicht vorhanden ist.

Ist dies mit Web Deploy möglich oder was ist der beste Ansatz, um das Gleiche zu tun?

Antwort

1

Verwenden Sie die ServerManager-Klasse aus dem Miceosoft.Web.Administration-Namespace. Insbesondere die Eigenschaften ApplicationPools und Sites. Siehe zum Beispiel

ServerManager sm = new ServerManager(); 
Site site = serverMgr.Sites.Add(“MySiteName”, “C:\\inetpub\\wwwroot”, 8080); 
sm.ApplicationPools.Add(“MyAppPool”); 
sm.CommitChanges() 

Weitere Informationen https://msdn.microsoft.com/en-us/library/microsoft.web.administration.servermanager(v=vs.90).aspx

Hoffnung, das hilft.

0

Es gibt auch MSBuildExtensionPack:

https://github.com/mikefourie/MSBuildExtensionPack

Ich stelle mir vor, daß die msbuild-Familie-of-Aktionen verwendet den Microsoft.Web.Administration Namespace seine Magie in Bezug auf die Arbeit einer neuen Website in IIS Erstellen von 7 und das Skripting sieht wie folgt aus etwas (nicht getestet dies auf meinem eigenen Server noch):

<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> 
Verwandte Themen