当前位置: 首页 > 知识库问答 >
问题:

Azure DevOps无法部署到Azure Web App

轩辕欣可
2023-03-14

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

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

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

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

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

  • Web App是在B公司的Azure中创建的
  • 来自DevOps公司A帐户的用户被添加为公司Azure AD中的来宾用户
  • 用户对Web App具有参与者权限
  • Web App上的托管服务标识设置为“开”
  • 在Azure DevOps中设置版本时,可以查看和选择公司B和Web应用程序的订阅

我很确定需要更多的发布部署才能工作,但是经过密集的搜索,我什么也没找到。

希望在座的各位能指点一下。

共有2个答案

欧阳狐若
2023-03-14

我遇到了这个问题,这是一个MSI问题,但没有像互联网上其他地方建议的那样通过创建VM来解决。我的情况是,我已经重置了app服务的MSI ID,这就中断了DevOps中的服务连接(虽然DevOps没有告诉我这个-_-)。

通过在DevOps中移除并重新添加服务连接,并在发布管道设置中重新选择它,解决了该问题。

白智
2023-03-14

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

首先,“托管服务身份”与这个问题无关。

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

  • 在B公司Azure中创建Web应用程序
  • A公司的Azure DevOp帐户在B公司的Azure中添加为“来宾用户”
  • DevOp的帐户在Azure订阅和Web应用上都获得了参与者权限。
  • 在A公司的运营模式中,添加"Azure资源管理器"。选择B公司Azure的设置为"服务主体身份验证"
  • 保存Azure资源管理器后,系统将提示您登录。您需要使用B公司Azure的管理员帐户登录。
 类似资料:
  • 问题内容: 香港专业教育学院一直试图与heroku合作。我可以成功地使其在开发模式下工作,但是当我尝试推送到heroku时,我得到了 然后,我阅读并关注了http://blog.redistogo.com/2010/07/26/resque-with-redis-to- go/ 我把站点中列出的配置放了,但是出现了以下错误 我把我的初始化器/ resque.rb 但是它引发了上面提到的错误。在我的

  • 我在部署到登台时遇到了一些问题,希望任何人都能提出一个解决方案。 所以我用Capistrano部署Rails4来做Droplet。我在不同的液滴上有生产/分期分支(实际上我是第一次部署分期,无法使其工作)。部署进行得很好,我已经在“当前”文件夹中准备好了我的应用程序。但我有麻烦的是创建数据库。当我跑的时候 rails_env=Production bundle exec rake DB:CREAT

  • 在开发阶段,我一直在开发tomcat的应用程序。随着我们的前进,我的客户希望部署到webphere。我正试图在webphere 8.5上这样做,但出于某种原因,我似乎遇到了问题。Tomcat很容易,我只是在战争中倒下,一切都像它应该的那样工作。Webphere是一个不同的故事。当我尝试点击我的应用程序时,我总是会遇到以下错误: 我一直在做一些研究,除了下面的一行,我没有注意到日志中有任何奇怪的地方

  • 我使用的是NetBeans 8.0.2、JDK1.8和Glassfish 4。我还使用了另一个配置,使用了NB 7.3.1、jdk 1.7和GF 3.1.2和相同的结果。 我正在创建一个新的Java EE项目,只有一个EJB模块。当我尝试部署EJB模块时,我得到以下错误: 这是服务器日志: 我已经证实了这个.罐子是存在的。我找遍了所有地方,也没有找到类似的东西。我能做什么?Netbeans、Jav

  • 我正在使用Java和Tomcat开发一个API项目。星期五一切都很好,但今天我不能在服务器上部署战争。下面是Tomcat中的堆栈错误: 以下是日志中的错误:

  • 我们已经建立了管道脚本,工作得很好。最近,我们决定使用bitbucket管道自动部署到elastic beanstalk,并遵循使用命令进行部署的教程。显然,此命令在管道上失败。配置文件似乎是合法的,因为它在本地运行。它还可以在管道文件中指定的同一图像的容器中运行,也可以从本地使用docker exec在同一图像的容器中运行命令。下面是管道文件和我们使用命令得到的错误。我显然漏掉了什么。如有任何帮