【问题标题】:Azure DevOps unable to deploy to Azure Web AppAzure DevOps 无法部署到 Azure Web App
【发布时间】:2018-10-08 07:15:49
【问题描述】:

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

尝试释放停止 Azure 应用程序时继续收到此错误:

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

我不知道如何解决这个问题。

到目前为止做了什么:

  • Web 应用在 B 公司的 Azure 中创建
  • 来自 DevOps 公司 A 帐户的用户被添加为公司 Azure AD 中的访客用户
  • 用户在 Web 应用上拥有贡献者权限
  • 托管服务标识在 Web 应用上设置为“开启”
  • 在 Azure DevOps 中设置发布时,可以看到并选择公司 B 和 Web 应用的订阅。

我很确定需要做更多工作才能使发布部署正常工作,但经过深入搜索后,我找不到任何东西。

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

【问题讨论】:

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


    【解决方案1】:

    设法找到解决我遇到的问题的方法。​​​ ​这与 Azure 订阅的 guest 账户的访问权限有关。

    ​首先“托管服务身份”与此问题无关。

    这些是将 A 公司的 Azure DevOps 连接到 B 公司的 Azure 所遵循的步骤:

    • ​在公司 B Azure 中创建了 Web 应用
    • ​A 公司的 Azure DevOp 帐户已添加为“来宾用户” 在 B 公司的 Azure 中
    • DevOp 的帐户在 Azure 上都获得了贡献者权限 订阅和网络应用。
    • ​在 A 公司的 DevOps 中,添加“Azure 资源管理器”。选择 公司 B 的 Azure 设置为“服务主体身份验证”
    • 保存 Azure 资源管理器后,系统会提示您登录。 您需要使用 B 公司 Azure 的管理员帐户登录。

    【讨论】:

    • @dmcquiggin 实际上是 404 未找到
    • @Cid 可能是因为我在两年前发布了那个链接......微软显示了一个 404 页面,其中包含指向潜在相关资源的链接。
    【解决方案2】:

    我遇到了这个问题,这是一个 MSI 问题,但没有按照 Internet 上其他地方的建议通过创建 VM 来解决。就我而言,我重置了应用服务的 MSI ID,这破坏了 DevOps 中的服务连接(尽管 DevOps 没有告诉我这个 -_-)。

    已通过在 DevOps 中删除并重新添加服务连接,并在发布管道设置中重新选择它来解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多