微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Twine 上传到 Artifacts Feed 失败

如何解决Twine 上传到 Artifacts Feed 失败

  1. 我有一个 python 包构建成功并尝试将 Python 包发布到 Azure Artifacts 源。我的包目录结构如下:
my_pkg
  my_pkg
    start.py
 tests
    test_start.py
.pypirc
  1. .pypirc 看起来像这样:

     [distutils]
     Index-servers =
      ddey-Feed
    
     [ddey-Feed]
     Repository = https://pkgs.dev.azure.com/project 
    
  2. 以下是我的管道:

enter image description here

  1. Artifact Feed 命令行脚本的 yaml 设置如下:

步骤:

- script: |
   pip install twine keyring artifacts-keyring
   
   echo "$(PYPIRC_PATH)"
   
   python -m twine upload -r ddey-Feed --config-file $(PYPIRC_PATH) build/*
  displayName: 'Command Line Script for Artifact Feed'
  env:
    PYPIRC_PATH: $(Build.ArtifactStagingDirectory)

问题陈述: 尽管我将变量 PYPIRC_PATH 设置为指向 $(Build.ArtifactStagingDirectory),但当我打印它时显示的是 "D:\a\_temp\twineAuthenticate\MXAJzL\.pypirc"。执行此命令会导致以下错误

HTTPError:403 Forbidden from https://pkgs.dev.azure.com/

对于如何在 yaml 中为 windows 设置 PYPIRC_PATH 有什么建议吗?

解决方法

构建范围权限问题是因为项目构建是从 Azure 管道 (Build Artifacts) 提供的,它需要对 Azure 提供不同级别的权限 - Azure Pipelines

要使用来自 Azure Pipelines 源的包,相应的构建标识必须对您的源具有权限。默认情况下,项目集合构建服务是一个贡献者。如果您已将构建更改为在项目范围内运行,则需要根据需要将项目级构建标识添加为读者或贡献者。

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。