【问题标题】:WebApp deployment to AzureWebApp 部署到 Azure
【发布时间】:2015-12-02 18:47:01
【问题描述】:

我正在尝试将构建部署到 Azure WebApp。

在 Azure (http://manage.windowsazure.com) 中,我将 Web 应用程序链接到我的 Visual Studio Online(VSTS) 帐户。

在 VSTS 中,我创建了一个包含单个任务的发布定义(Azure Web 应用部署);该任务被配置为使用在管理模块中定义的端点。服务端点配置为使用凭据。凭据正在使用 Microsoft 帐户。

发布失败并出现以下错误:

2015-12-02T18:17:35.4422685Z AzurePSCmdletsVersion= 0.9.8.1
2015-12-02T18:17:35.5692677Z Get-ServiceEndpoint -Name foo -Context Microsoft.TeamFoundation.DistributedTask.Agent.Worker.Common.TaskContext
2015-12-02T18:19:07.5877546Z Username= ********
2015-12-02T18:19:07.5887893Z azureSubscriptionId= foo-foo-foo-foo-foo
2015-12-02T18:19:07.5907904Z azureSubscriptionName= Pay-As-You-Go
2015-12-02T18:19:07.6278127Z Add-AzureAccount -Credential $psCredential
2015-12-02T18:19:09.7755541Z ##[error]-Credential parameter can only be used with Organization ID credentials. For more information, please refer to http://go.microsoft.com/fwlink/?linkid=331007&clcid=0x409 for more information about the difference between an organizational account and a Microsoft account.
2015-12-02T18:19:09.9664413Z ##[error]There was an error with the Azure credentials used for deployment.

如何设置版本以使用 Microsoft 帐户获取 Azure 凭据?

【问题讨论】:

  • 您是否仅在签入代码时收到此错误?或者,如果您手动尝试部署到该端点,您是否也会看到它?此外,您过去是否能够使用同一个帐户部署网络应用(甚至是空白示例应用)?
  • 这是我第一次尝试从 VSTS 部署。我只使用构建的手动版本。

标签: azure azure-devops ms-release-management azure-web-app-service


【解决方案1】:

目前无法使用 Microsoft 帐户凭据从 VSO 服务端点连接到 Azure。您需要使用组织帐户。如果没有,可以使用“基于证书”身份验证轻松连接到 Azure。点击this link获取您的订阅文件,然后将订阅文件中的认证字符串粘贴到VSO“管理证书”区域。

【讨论】:

  • 当我下载发布设置文件时,它不包含管理证书(它有用户名/密码)。我找不到任何关于为什么会这样的信息,所以我目前被困在这一点上。
  • @PederRice 您是否使用我在答案中提供的链接获取订阅文件?
【解决方案2】:

Add-AzureAccount cmdlet,使用 Azure Active Directory (Azure AD) 身份验证访问令牌,Azure AD 使用组织帐户。

Microsoft 帐户凭据(以前称为 LiveID)在 Azure AD 身份验证方案中不起作用。

这是作为建议和设计报告的,截至目前:

https://github.com/Azure/azure-powershell/issues/477

【讨论】: