【问题标题】:Can Web Deploy create IIS Site and Application PoolWeb Deploy可以创建IIS站点和应用程序池吗
【发布时间】:2017-01-06 21:59:13
【问题描述】:

我正在致力于部署过程的自动化,我需要找到一种方法来构建和部署一个 asp.net 网站。

除此之外,如果新创建的 IIS 尚不存在,我还想为新创建的 IIS 创建 IIS 站点和应用程序池。

这是否可以通过 Web Deploy 实现(或者是否有更好的方式/工具/方法来实现这些目标?)

【问题讨论】:

    标签: iis msbuild webdeploy application-pool devops


    【解决方案1】:

    考虑使用 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

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      还有 MSBuildExtensionPack:

      https://github.com/mikefourie/MSBuildExtensionPack

      我想所说的 msbuild-family-of-actions 使用 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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-14
        • 2012-08-14
        • 2010-09-23
        • 2011-06-23
        • 2012-09-17
        • 2011-01-01
        相关资源
        最近更新 更多