Azure Web App中的ASP.NET 5环境名称

时间:2015-08-26 05:19:25

标签: azure azure-web-sites asp.net-core asp.net-core-mvc dnx

在发布到Azure Web Apps时,最好为ASP.NET 5 Web应用程序的每个部署设置环境名称?

我知道需要设置ASPNET_DEV环境变量。这可以在发布吗?

这是我们的powershell发布脚本:

param($websiteName, $packOutput)

$website = Get-AzureWebsite -Name $websiteName

# get the scm url to use with MSDeploy.  By default this will be the second in the array
$msdeployurl = $website.EnabledHostNames[1]

$publishProperties = @{'WebPublishMethod'='MSDeploy';
                        'MSDeployServiceUrl'=$msdeployurl;
                        'DeployIisAppPath'=$website.Name;
                        'Username'=$website.PublishingUsername;
                        'Password'=$website.PublishingPassword}

Write-Output "Restarting web app..."
Restart-AzureWebsite -Name $websiteName

Write-Output "Publishing web app..."
$publishScript = "${env:ProgramFiles(x86)}\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Web Tools\Publish\Scripts\default-publish.ps1"

. $publishScript -publishProperties $publishProperties  -packOutput $packOutput

或者我们是否在Azure门户中设置了环境变量?这会在部署之间持续存在吗?

我正在使用带有dnx451目标框架的ASP.NET 5 beta6库,如果这很重要的话。

2 个答案:

答案 0 :(得分:7)

  

在发布到Azure Web Apps时,最好为ASP.NET 5 Web应用程序的每个部署设置环境名称?

@ cory-fowler是对的。使用“应用程序设置”设置环境名称。至少有四种方法可以做到这一点。

portal.azure.com

浏览>所有资源> MyApp>设置>应用程序设置。

manage.windowsazure.net

网络应用> MyApp>配置>应用设置。

Azure Command Line Interface (CLI)

npm install -g azure-cli
azure account download
azure account import '~\Downloads\my-credentials.publishsettings'
site appsetting add ASPNET_ENV=Test MyApp 
azure site appsettings list MyApp 

Azure PowerShell

choco install -y windowsazurepowershell 
Get-AzurePublishSettingsFile
Import-AzurePublishSettingsFile '~\Downloads\my-credentials.publishsettings'
$hash = (Get-AzureWebsite -Name "MyApp").AppSettings
$hash.Add("ASPNET_ENV", "Test")
Set-AzureWebsite -Name "MyApp" -AppSettings $hash

正如您所看到的,使用PowerShell比使用CLI更棘手。注意:安装Azure PowerShell后重新启动控制台窗口。

答案 1 :(得分:2)

应用程序设置肯定会在部署之间保持不变,它们是区分云中环境的好方法。

我在2012年写了一篇关于此事的博文。Using Environment Variables in App Service vs Cloud Service