当从TFS发布到Azure时,为什么我得到了NotnotfetchacccesstokenforAzureStatusCode

Tor*_*gil 6 tfs release azure azure-web-app-service

我想知道在从TFS(visualstudio.com)部署(发布工作流程)到Azure时,我是否是唯一一个获得此NotnotfetchacccesstokenforAzureStatusCode的人.即使是谷歌也没有任何线索.

发布工作流配置文件是在Azure中设置的,因此我猜订阅和服务名称都可以.毕竟它设法获得转移的工件.在它停止工作之前它已经工作了一个星期.它是由git push之后的成功托管构建触发的.没有手工工作.

##[section]Finishing: Download Artifacts     
##[section]Starting: Deploy Azure App Service     
==============================================================================     
Task         : Azure App Service Deploy     
Description  : Update Azure App Service using Web Deploy / Kudu REST APIs     
Version      : 2.1.10     
Author       : Microsoft Corporation     
Help         : [More Information](https://aka.ms/azurermwebdeployreadme)     
==============================================================================     
d19c95a6-ebscrabbeldabbeld9c3eb0cfeb exists true     
##[warning]Can\'t find loc string for key: CouldnotfetchacccesstokenforAzureStatusCode     
##[error]CouldnotfetchacccesstokenforAzureStatusCode 400 Bad Request     
##[section]Finishing: Deploy Azure App Service     
##[section]Finishing: Release
Run Code Online (Sandbox Code Playgroud)

我已"使用Web Deploy发布"和"使应用程序脱机"并且已选中"已启用"控制选项.App Service是版本2.任何想法?

编辑:尝试版本3(在预览中),我有一个不同的(但可能相同)错误:

##[error]Could not fetch acccess token for Azure. Status Code: 400 (Bad Request)
Run Code Online (Sandbox Code Playgroud)

Tor*_*gil 10

我重新创建了juunas提到的服务连接,这很有效.您可以在TFS的"服务"下找到它.那么它背后的神奇背后是什么:

  • 它将服务连接绑定到Azure AD(租户ID)
  • 它在azure AD中创建应用程序,并在发布过程中使用ClientID
  • 它将服务连接绑定到您的订阅ID
  • 它创建一个可以持续1年或2年的Principal密钥(如密码).我的原始服务中缺少这个值.您可以创建自己的Principal键或让TFS自动创建一个.

感谢Juunas的暗示!


piu*_*ius 8

我不必重新创建服务连接。我只需要更新它,就可以再次发布。

  1. 在Azure DevOps中打开项目
  2. 在概述页面中,单击项目名称右侧的铅笔,以转到项目设置
  3. 单击管道下的服务连接
  4. 选择天蓝色服务连接
  5. 单击更新服务连接

Azure DevOps屏幕截图