当前,尝试在Azure Devops中配置发布管道。我已经成功创建了一个CI管道,该管道正在成功运行和运行测试。我的发布管道使用了来自最新CI构建的工件,应该将其部署到Azure。当我查看日志时,可以看到以下内容已成功完成:
,然后“ Deploy to Azure App Service”失败,日志显示以下详细信息:
2019-02-07T19:06:57.5433805Z Got service connection details for Azure App Service:'MyApp'
2019-02-07T19:06:57.5487495Z ##[error]Error: Failed to get resource ID for resource type 'Microsoft.Web/Sites' and resource name 'MyAPP'. Error: Could not fetch access token for Managed Service Principal. Please configure Managed Service Identity (MSI) for virtual machine 'https://aka.ms/azure-msi-docs'. Status code: 400, status message: Bad Request
2019-02-07T19:06:57.5496340Z Failed to add release annotation. TypeError: Cannot read property 'getApplicationSettings' of undefined
到目前为止,我在此方面找不到很多帮助。我通过从管道第1阶段(我只有一个阶段)的模板中选择Azure App Service deployment
来创建发布管道,并添加了一个来自构建管道的工件。然后,我选择“任务”选项卡,并在“可用的Azure服务连接”下选择了“按需购买”订阅。选择订阅后,我的应用程序服务名称在“应用程序服务名称”下拉列表中变为可用,然后选择了它。然后,我点击保存并尝试创建一个发行版,但每个发行版均失败,并显示上述错误消息。
该如何克服?
答案 0 :(得分:2)
最后找到了解决我问题的方法。问题出在我建立服务连接的方式上。我去了:
项目设置->服务连接->新服务连接->选择azure资源管理器->选择服务主体身份验证INSTEAD OF受管身份验证->出现一个弹出窗口,允许我登录并进行授权。
然后,我在创建发布管道时使用了该服务连接,而不是我上次使用的现存的即付即用订阅。
以前,当我尝试这样做时,我运行了一个adblocker,它阻止了弹出窗口,当我选择服务主体身份验证时,该弹出窗口允许我进行授权。这导致出现“无法授权帐户”错误消息,这就是为什么我首先使用托管身份验证的原因。
答案 1 :(得分:0)
就我而言,这与我添加了“启用 CORS”插件的 chrome 扩展有关。禁用后,发布管道运行良好