ASP.NET 5 Azure Web 应用中的环境名称
ASP.NET 5 Environment Name in Azure Web App
在发布到 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 门户中设置了环境变量?这会在部署之间持续存在吗?
如果重要的话,我正在使用 ASP.NET 5 beta6 库和 dnx451
目标框架。
应用程序设置在部署之间肯定会保留,它们是区分云中环境的好方法。
我在 2012 年写了一篇关于此的博客 post。Using Environment Variables in App Service vs Cloud Service
Where is it best to set the environment name for each deployment of a ASP.NET 5 web application when publishing to Azure Web Apps?
@cory-fowler 是对的。使用 App Settings 设置环境名称。至少有四种方法可以做到这一点。
portal.azure.com
浏览 > 所有资源 > MyApp > 设置 > 应用程序设置。
manage.windowsazure.net
Web 应用 > 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 后重新启动控制台 window。
在发布到 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 门户中设置了环境变量?这会在部署之间持续存在吗?
如果重要的话,我正在使用 ASP.NET 5 beta6 库和 dnx451
目标框架。
应用程序设置在部署之间肯定会保留,它们是区分云中环境的好方法。
我在 2012 年写了一篇关于此的博客 post。Using Environment Variables in App Service vs Cloud Service
Where is it best to set the environment name for each deployment of a ASP.NET 5 web application when publishing to Azure Web Apps?
@cory-fowler 是对的。使用 App Settings 设置环境名称。至少有四种方法可以做到这一点。
portal.azure.com
浏览 > 所有资源 > MyApp > 设置 > 应用程序设置。
manage.windowsazure.net
Web 应用 > 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 后重新启动控制台 window。