2017-02-16 18 views
0

私はAzure WebアプリケーションをPowerShellを使用して配備したいと考えています。ここに私の予想されるワークフローは次のとおりです。Azure Resource ManagerベースのPowerShellを使用してAzure Web Appsを展開する方法は?

  • 私は下のリンクで説明したアプローチを試みたAzureの

へのMSBuild

  • 展開を使用してパッケージパッケージの作成:私は修正 https://github.com/gregpakes/DoIHaveGPS/blob/master/PublishScripts/Publish-WebApplication.ps1

    作成する代わりに既存のWebアプリケーションを使用するスクリプト。だから私はGet-AzureWebsite -Name $ Config.nameのようなものを呼び出します。

    しかし、それはサブスクリプションの問題のため、既存のアプリケーションサービス(Webアプリケーション)を見つけることはありません。私はサブスクリプションを切り替えるために何度も試してみましたが、うまくいきません。 Get-AzureWebsiteは、私がもう使用しない古いサブスクリプションを常に検索し続けます。

    私がpowershellからGet-AzureRmSubscriptionを呼び出すと、2つのサブスクリプションが取得されますが、Get-AzureSubscriptionを呼び出すと1つだけ取得されます。

    リソースマネージャーベースのpowershellを使用して、powershellを使用してアプリケーションパッケージを配備するにはどうすればよいですか?

  • 答えて

    0

    アプリケーション用のWebデプロイメントパッケージを作成したら、Webデプロイメントパッケージを使用してAzure WebアプリケーションにデプロイできるAzure Resource Manager(ARM)テンプレートを作成する必要があります。

    次に、以下のAzure PowerShellコマンドレットを使用して、上記の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

    あなたは "古い" サービス管理インタフェースを使用しているにリンクされているスクリプトで使用するコマンドレット。 Get-AzureSubscriptionがAzureRMを介してのみ使用可能であることを意味するサブスクリプションを返さない場合。古いものが行ったようにAzureRMのWebアプリケーションのコマンドレットは、単純なコマンドを「公開」しているしていない...だからあなたは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.名前と場所を入力し、必要に応じてサブスクリプションを選択します。

    の場所を指定する必要があります
    関連する問題