Azure DevOps无法部署到Azure Web App

时间:2018-10-08 07:15:49

标签: azure azure-devops azure-web-app-service azure-pipelines-release-pipeline

Am目前正尝试将应用程序从公司A拥有的Azure DevOps下的发布管道部署到公司B拥有的Azure托管的Azure应用。

尝试释放时继续出现此错误,请停止Azure应用:

  

错误:无法获取资源类型的资源ID   “ Microsoft.Web /站点”和资源名称“ AppName”。错误:无法   获取托管服务主体的访问令牌。请配置   虚拟机的托管服务身份(MSI)   'https://aka.ms/azure-msi-docs'。状态码:400,状态消息:错误   请求

不知所措。

到目前为止已经做了什么:

  • 在B公司的Azure中创建Web应用
  • DevOps公司的用户一个帐户已添加为公司Azure AD中的来宾用户
  • 用户在Web应用程序上具有贡献者权限
  • 在Web App上将托管服务标识设置为“开”
  • 在Azure DevOps中设置发布时,可以查看和选择Company B和Web Apps的订阅。

我非常确定要使发布部署正常运行还需要更多,但是经过大量搜索之后,我什么都找不到。

希望这里的任何人都可以提供建议。

2 个答案:

答案 0 :(得分:6)

设法找到我遇到的问题的解决方案。 ``这与Azure订阅上的来宾帐户的访问权限有关。

首先,``托管服务身份''与此问题无关。

以下是将公司A的Azure DevOps连接到公司B的Azure的步骤:

  • 在B公司Azure中创建Web应用
  • A公司的Azure DevOp帐户被添加为“来宾用户” 在公司B的Azure中
  • DevOp的帐户在两个Azure上均被授予贡献者权限 订阅和Web应用程序。
  • 在A公司的DevOps中,添加一个``Azure资源管理器''。选择 B公司的Azure设置为“服务主体身份验证”
  • 保存Azure资源管理器后,将提示您登录。 您将需要使用B公司的Azure管理员帐户登录。

答案 1 :(得分:0)

我遇到了这个问题,这是一个MSI问题,但无法通过创建VM来解决,就像在Internet上其他地方建议的那样。就我而言,我已经重置了应用程序服务的MSI ID,从而中断了DevOps中的服务连接(尽管DevOps不会告诉我这个-_-)。

已解决,方法是在DevOps中删除并重新添加服务连接,然后在发布管道设置中重新选择它。