TWINE上载到工件提要失败

人气:1,013 发布:2022-10-16 标签: azure python devops artifact twine

问题描述

我已成功生成一个python包,并且正在尝试将Python包发布到Azure项目源。我的软件包目录结构如下:
my_pkg
  my_pkg
    start.py
 tests
    test_start.py
.pypirc

.pypirc如下所示:

 [distutils]
 Index-servers =
  ddey-feed

 [ddey-feed]
 Repository = https://pkgs.dev.azure.com/project 

下面是我的渠道:

项目源命令行脚本的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 wineAuthenticateMXAJzL.pypirc"。执行此命令会导致以下错误。

HTTPE错误:403禁止来自https://pkgs.dev.azure.com/

对于如何在YAML for Windows中设置PYPIRC_PATH有任何建议吗?

推荐答案

生成范围权限问题源于以下事实:项目生成是从Azure管道(Build Artifacts)馈送的,并且它需要Azure馈送的不同级别的权限-Azure Pipelines

若要在Azure管道中使用源中的包,相应的内部版本标识必须对您的源具有权限。默认情况下,项目集合生成服务是参与者。如果已将生成更改为在项目范围内运行,则需要根据需要将项目级生成标识添加为Reader或Contributor。

182