Visual Studio Team Services Azure 部署任务部署 Web 应用程序失败

Visual Studio Team Services Azure Deployment task fails to deploy web app

我们最近建立了一个新的 Azure 帐户,并且正在开发一个新的应用程序以作为 Web 应用程序部署到它。虽然我们能够从 Visual Studio 2015 开始部署到我们的暂存槽,但当尝试从 Visual Studio Team Services(由 Microsoft 托管)部署自动构建时,我们收到以下错误:

Get-AzureWebSite -Name $APPLICATION -ErrorAction SilentlyContinue -ErrorVariable azureWebSiteError -Slot staging
System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.WindowsAzure.Commands.Websites.GetAzureWebsiteCommand.Do(Action call) in d:\workspace\powershell-publish\src\ServiceManagement\Services\Commands\Websites\GetAzureWebSite.cs:line 138
at Microsoft.WindowsAzure.Commands.Utilities.Common.AzureSMCmdlet.ProcessRecord() in d:\workspace\powershell-publish\src\ServiceManagement\Common\Commands.ServiceManagement.Common\AzureSMCmdlet.cs:line 174
New-AzureWebSite -Name $APPLICATION -Location North Central US -Slot staging
Conflict: Website with given name $APPLICATION already exists.
Publish-AzureWebsiteProject -Name "$APPLICATION" -Package "C:\a\a$APPLICATION.zip" -Slot "staging"  -ErrorVariable publishAzureWebsiteError
The website $APPLICATION was not found. Please specify a valid website name.
Cannot get website, deployment status is not updated

这是一个相当重要的问题,因为它阻止了我们此时使用持续部署。是否有任何我们应该查看的解决方法或配置设置来解决这个问题?

如果 Web 应用程序启用了 VS 2015 调试,则存在一个已知问题会导致从 VSTS 发布失败。能不能看看你是不是这样,在Azure portal中关闭调试后再试试?

该问题将很快得到解决,因此请将其视为临时解决方法。

您可以尝试几件事:

  • 既然你提到你有 2 个订阅,请确保你上面的脚本 运行 与正确的订阅相对应,如果不是,它会给出你所看到的确切错误.放一个:

    Get-AzureSubscription-Current

在脚本顶部输入命令,看看是否符合您的预期。

  • VSTS 有一个用于部署到 Web 应用程序的构建任务,您可以使用该任务部署包吗?

这最终归结为两个问题。

第一个问题是我们需要加载不同的管理证书,因为我们使用的证书默认为不同的帐户。这可以追溯到让一个帐户与多个订阅相关联的问题。在撰写本文时,似乎没有指定 which subscription to download.

的方法

第二个问题似乎与 known bug mentioned by David Ebbo in their 有关。