【问题标题】:Add Virtual Directory to an Azure Website using Powershell使用 Powershell 将虚拟目录添加到 Azure 网站
【发布时间】:2015-02-04 05:18:45
【问题描述】:

有没有办法使用 Powershell 将虚拟目录添加到 Azure 网站?

背景:我们有一个包含 ASP.Net MVC 应用程序和 Web.API 项目的单一解决方案。我们将应用程序发布到 azure 网站的根目录中,并将 Web.API 发布到其下的虚拟目录中。

只要您在 Azure 门户中手动添加虚拟目录,此方法就可以正常工作。 (出于某种原因,项目设置不会传播到网站设置)。

由于我们正在寻求自动化部署过程,我们希望使用 Powershell 脚本添加缺少的虚拟目录。

【问题讨论】:

  • 你找到答案了吗?
  • @w69rdy 有最好的答案!

标签: powershell azure-web-app-service virtual-directory


【解决方案1】:

根据 Ben 的回答:

$props = @{
    "virtualApplications" = @(
        @{
            "virtualPath"  = "/";
            "physicalPath" = "site\wwwroot";
        },
        @{
            "virtualPath"  = "/SOME_VIRTUAL_PATH";
            "physicalPath" = "site\wwwroot";
        }
    )
}

Set-AzureRmResource `
    -ResourceGroupName $resourceGroupName `
    -ResourceType "Microsoft.Web/sites/config" `
    -ResourceName "$appServiceName/web" `
    -PropertyObject $props `
    -ApiVersion "2015-08-01" `
    -Force

【讨论】:

    【解决方案2】:

    我最近一直在努力做到这一点,并找到了一个更简单的解决方案here

     $website = Get-AzureRmWebApp -Name "myWebApp" -ResourceGroupName "myResourceGroup" 
     $VDApp = New-Object Microsoft.Azure.Management.WebSites.Models.VirtualApplication 
     $VDApp.VirtualPath = "/TEST" 
     $VDApp.PhysicalPath = "site\\TEST" 
     $VDApp.PreloadEnabled ="YES" 
     $website.siteconfig.VirtualApplications.Add($VDApp) 
     $website | Set-azureRmWebApp 
    

    【讨论】:

      【解决方案3】:

      在这里看起来像是一个有效(如果有些复杂)的答案:

      简而言之:您必须使用 AzureResourceManager 并使用 Microsoft.web/sites/config 对象来获取和设置虚拟目录。

      https://social.msdn.microsoft.com/Forums/azure/en-US/990f41fd-f8b6-43a0-b942-cef0308120b2/add-virtual-application-and-directory-to-an-azure-website-using-powershell?forum=windowsazurewebsitespreview

      【讨论】:

        猜你喜欢
        • 2013-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-12
        • 2014-03-24
        相关资源
        最近更新 更多