2017-02-16 98 views
0

我想使用PowerShell部署我的Azure Web应用程序。这是我期望的工作流程:如何使用基于Azure资源管理器的PowerShell部署Azure Web应用程序?

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

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

我修改了脚本使用现有的Web应用程序而不是创建。所以我打电话给Get-AzureWebsite-Name $ Config.name ..

但是由于订阅问题,它从未发现现有的应用服务(web应用)。我尝试了很多次来切换订阅,但它不起作用。 Get-AzureWebsite始终会继续搜索旧我不再使用的订阅。

如果我从PowerShell中调用Get-AzureRmSubscription,我会得到两个订阅,但是如果我打电话给Get-AzureSubscription,我只能得到一个订阅。

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

回答

0

在为应用程序创建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

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获得其他地方,这可能会更容易。

0

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.给它一个名称和位置,并在必要时选择订阅。您需要提供

的位置
相关问题