【问题标题】:How to deploy Azure Web Apps using Azure Resource Manager-Based PowerShell?如何使用基于 Azure 资源管理器的 PowerShell 部署 Azure Web 应用程序?
【发布时间】:2017-07-05 13:55:45
【问题描述】:

我想使用 PowerShell 部署我的 Azure Web 应用程序。这是我预期的工作流程:

  • 使用 MSBuild 创建包
  • 将包部署到 Azure

我尝试了以下链接中描述的方法: https://github.com/gregpakes/DoIHaveGPS/blob/master/PublishScripts/Publish-WebApplication.ps1

我修改了脚本以使用现有的网络应用程序而不是创建。所以我称之为 Get-AzureWebsite -Name $Config.name..

但由于订阅问题,它永远找不到现有的应用服务(网络应用)。我尝试了很多次切换订阅,但它不起作用。 Get-AzureWebsite 总是不断搜索我不再使用的旧订阅。

如果我从 powershell 调用 Get-AzureRmSubscription,我会得到两个订阅,但如果我调用 Get-AzureSubscription,我只会得到一个。

如何使用基于资源管理器的 powershell 部署我的应用程序包?

【问题讨论】:

    标签: asp.net powershell azure deployment azure-resource-manager


    【解决方案1】:

    您链接到的脚本使用的 cmdlet 使用的是“旧”服务管理界面。如果 Get-AzureSubscription 未返回订阅,则意味着它只能通过 AzureRM 使用。 AzureRM Web 应用程序 cmdlet 没有像旧的那样简单的“发布”命令......所以如果你想在 PowerShell 中复制它,你可以这样做:

    $deploycmd = "$env:ProgramFiles\IIS\Microsoft Web Deploy V3\msdeploy.exe"
    
    $packageLocation = Resolve-Path -Path "C:\users\bjm\downloads\package.zip"
    
    $webAppName = 'myazuresite'
    $user = '$myazuresite'
    $pass = 'jSjku1lWBdZNgGjyZWYfDhFn4DFfZlAqTq1RjPu5Fnv3yYe9l2Fl5xz5RK0x'
    $setParam =  "-setParam:name=""IIS Web Application Name"",value=$webAppName"
    $dest = "-dest:auto,ComputerName='https://$webAppName.scm.azurewebsites.net:443/msdeploy.axd?site=$webAppName',UserName='$user',Password='$pass',AuthType=Basic"
    
    & $deploycmd "-verb:sync", "-source:package=$packageLocation", $setParam, $dest
    

    我实际上更喜欢 juvchan 的方法,但如果您已经通过 PS 完成了其余的工作,这可能会更容易。

    【讨论】:

      【解决方案2】:

      为应用程序创建 Web 部署包后,您需要创建一个 Azure 资源管理器 (ARM) 模板,该模板允许您使用 Web 部署包部署到 Azure Web 应用程序。

      然后您可以使用下面的 Azure PowerShell cmdlet 来部署上面的 ARM 模板以实现您的要求。

      New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri <ArmTemplateJsonUri>
      

      有用的参考资料:

      Deploy a web app with MSDeploy, custom hostname and SSL certificate

      Deploy your app to Azure App Service

      【讨论】:

        【解决方案3】:

        https://github.com/Microsoft/azure-docs/blob/master/articles/azure-resource-manager/resource-group-template-deploy-cli.md https://github.com/Microsoft/azure-docs/blob/master/articles/azure-resource-manager/resource-group-template-deploy-cli.md

        本主题展示了如何使用 Azure 门户和 Azure 资源管理器来部署你的 Azure 资源。若要了解如何管理资源,请参阅通过门户管理 Azure 资源。目前,并非所有服务都支持门户或资源管理器。对于这些服务,您需要使用经典门户。有关每个服务的状态,请参阅 Azure 门户可用性图表。 1. 要创建空资源组,请选择新建 > 管理 > 资源组。 2. 为其命名和位置,如有必要,选择订阅。您需要为

        【讨论】:

          猜你喜欢
          • 2016-03-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-07-06
          • 2018-01-29
          • 2015-11-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多