使用 API 令牌将带有诗歌的包发布到 PyPI

问题描述 投票:0回答:1

我有一个 Gitlab CI 管道,可将包发布到 PyPI。我使用了用户名+密码身份验证,该身份验证不再受支持,因此管道现在失败并显示 403 Unauthorized。

以下是管道定义(

PYPI_USERNAME
PYPI_PASSWORD
是CI环境变量)和输出:

publish:package:
  stage: publish
  image: python:3.10.9-slim
  script:
    - apt-get update -y && apt-get install -y curl
    - curl -sSL https://install.python-poetry.org | python3 - --version 1.5.1
    - export PATH="/root/.local/bin:$PATH"
    - poetry build
    - poetry publish --username ${PYPI_USERNAME} --password ${PYPI_PASSWORD}
  only:
    - tags

按照管道输出中的 link,我在帐户设置中创建了一个新的 API 令牌(范围仅限于项目),然后我相应地将

PYPI_USERNAME
的值更新为
__token__
PYPI_PASSWORD
到令牌值(带有
pypi-
前缀)。

但是管道不断失败并出现相同的错误。知道为什么吗?

gitlab-ci pypi python-poetry
1个回答
0
投票

我认为不是

--username
/
--password
,而是配置或
pypi-token.pypi
环境变量中的
POETRY_PYPI_TOKEN_PYPI
;请参阅文档

poetry config repositories.pypi https://pypi.org/legacy/
poetry config pypi-token.pypi <your-token>

export POETRY_PYPI_TOKEN_PYPI=<token>
© www.soinside.com 2019 - 2024. All rights reserved.