You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure DevOps中添加AddPackage权限以发布通用包?

解决Azure DevOps UniversalPackages任务AddPackage权限缺失问题

问题场景

我使用自托管Windows代理将构建制品(.zip文件)发布到Azure Artifact feed,配置的UniversalPackages任务如下:

- task: UniversalPackages@0
    displayName: 'Publish to Azure Artifact feed'
    inputs:
      command: 'publish'
      publishDirectory: '$(Build.ArtifactStagingDirectory)/files.zip'
      feedsToUsePublish: 'internal'
      vstsFeedPublish: 'kitagi'
      vstsFeedPackagePublish: 'testartifact'
      versionOption: 'custom'
      versionPublish: '1.0.3'
      publishedPackageVar: 'testartifact'

运行流水线后,制品仅发布到流水线内,未同步到目标feed,核心错误信息为:

An error occurred on the service. User 'f3d5130b-1a1b-4c35-9703-4d5cb68bb1d9' lacks permission to complete this action. You need to have 'AddPackage'.

解决步骤:添加AddPackage权限

  1. 进入Azure DevOps目标项目,打开Artifacts模块,找到目标feed(此处为kitagi)
  2. 点击feed右上角的齿轮图标,进入feed设置页面
  3. 在左侧导航栏选择Permissions选项
  4. 点击页面中的Add users/groups按钮,搜索并添加错误日志中指定的用户/服务主体(即ID为f3d5130b-1a1b-4c35-9703-4d5cb68bb1d9的身份)
  5. 给该身份分配权限:
    • 直接选择Contributor角色(该角色默认包含AddPackage权限)
    • 或手动勾选权限列表中的Add package选项
  6. 保存设置后重新运行流水线即可

额外提示

UniversalPackages@0任务的publishDirectory参数需指向包含待发布文件的目录,而非单个.zip文件。若要发布该zip包,建议将files.zip放入一个单独目录,再将该目录路径赋值给publishDirectory,避免打包逻辑异常。

内容的提问来源于stack exchange,提问作者kiran itagi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 13:25:02