azure-pipelines.yaml:无法验证组织范围的提要

Mor*_*sen 4 npm azure-devops

我有一个 .npmrc 文件:

registry=https://XXX.pkgs.visualstudio.com/_packaging/YYY/npm/registry/
always-auth=true
Run Code Online (Sandbox Code Playgroud)

还有我的 azure-pipelines.yaml:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '10.x'
  displayName: 'Install Node.js'

- task: Npm@1
  inputs:
    command: 'install'
  displayName: 'npm install'
Run Code Online (Sandbox Code Playgroud)

我的提要将“项目集合构建服务”作为“贡献者”。

然而我不断得到这个:

/opt/hostedtoolcache/node/10.19.0/x64/bin/npm install
npm ERR! code E403
npm ERR! 403 403 Forbidden - GET https://XXX.pkgs.visualstudio.com/_packaging/YYY/npm/registry/ansi-regex - Forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.
npm ERR! 403 
npm ERR! 403 It was specified as a dependency of 's'
npm ERR! 403 
Run Code Online (Sandbox Code Playgroud)

Mer*_*SFT 5

我的提要将“项目集合构建服务”作为“贡献者”。

通常,这不是通用解决方案,仅当管道使用的服务帐户Project Collection Build Service为 时才可用。Project Collection Build Service是组织级别的构建服务帐户

恐怕您这里的管道正在使用project-level build service account.


这里有2种方法你可以考虑使用。

方法一

请转到Feed settings=> Permissions,添加您的项目级构建服务帐户并为其分配Contributor角色。它的帐户名称应该是这样的{Project Name} Build Service ({Org Name})

重新运行您的管道以查看其是否可以成功运行。

方法二

转到“项目设置”=>“设置”,并确保Limit job authorization scope to current project已禁用:

在此输入图像描述

只有它被禁用,管道使用的服务帐户才是集合级别的。此时,您原来的权限配置就可用了。


最后,出乎我意料的是,你面对的是我们的活动。不确定,但希望您只是面临许可问题。