对于私有流的NPM身份验证在ADO管道上发布的dotnet失败

时间:2020-10-23 18:50:12

标签: npm .net-core azure-devops azure-pipelines

设置
我使用dotnet new react创建了一个新项目。
我的代码在Azure DevOps GIT上。
我正在使用在同一ADO组织中的私有注册表上发布的npm模块。

问题
在我的构建管道中,我的dotnet publish任务失败,并显示以下错误

npm ERR! code E401
  npm ERR! Unable to authenticate, need: Bearer authorization_uri=https://login.windows.net/xxxxxxxxxxxxxxxx, Basic realm="https://xxxxxxxxxxx.pkgs.visualstudio.com/", TFS-Federated
  
  npm ERR! A complete log of this run can be found in:
  npm ERR!     C:\npm\cache\_logs\2020-10-23T16_16_30_880Z-debug.log
D:\a\1\s\Portal.csproj(48,5): error MSB3073: The command "npm install" exited with code 1.

我尝试过的事情

  1. 在dotnet发布任务之前添加了npm authentciate任务。该任务通过了,但是我在发布任务中收到401错误。

1 个答案:

答案 0 :(得分:0)

对于私有网的NPM身份验证在ADO管道上发布的dotnet失败

根据npm Authenticate task(对于任务运行者):

使用此任务为您的.npmrc文件提供npm凭据。 构建范围的存储库。 这将启用npm以及 npm任务执行者(例如gulp和Grunt)可以通过私人身份验证 注册表

因此,它不适用于dotnet publish任务。要解决此问题,您可以尝试使用npm任务,例如npm install来还原软件包,npm build来构建项目,然后使用Azure App Service deploy来发布react项目。

您可以查看this blog了解更多详细信息。