使用 Azure Pipelines 发布 Python 包
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
使用 Azure Pipelines,开发人员可以将 Python 包发布到 Azure Artifacts 源,发布注册表,或者将其存储为管道工件。 本文将指导你完成以下操作:
- 安装必备组件
- 连接到 Azure Artifacts 源
- 将 Python 包发布到 Azure Artifacts 源
先决条件
使用 Azure Artifacts 进行身份验证
要使用 twine
发布 Python 包,必须先使用 Azure Artifacts 源进行身份验证。 TwineAuthenticate task 向 PYPIRC_PATH
环境变量提供 Twine 凭据。 然后,twine
使用此变量来帮助你直接从管道中发布你的包。
- task: TwineAuthenticate@1
inputs:
artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, artifactFeed: <FEED_NAME>
重要
存储在 PYPIRC_PATH
环境变量中的凭据取代了 .ini
和 .conf
文件中的凭据。
如果在管道的不同阶段添加多个 TwineAuthenticate 任务,则每个附加任务执行都将扩展(而不是替代)现有的 PYPIRC_PATH
环境变量。
将 Python 包发布到 Azure Artifacts 源
- script: |
pip install build
pip install twine
displayName: 'Install build and twine'
- script: |
python -m build -w
displayName: 'Python build'
- task: TwineAuthenticate@1
inputs:
artifactFeed: <PROJECT_NAME/FEED_NAME>
displayName: 'Twine Authenticate'
- script: |
python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl
displayName: 'Upload to feed'
注意
要使用 Azure Pipelines 将包发布到源,项目集合生成服务和项目的生成服务标识都必须在源设置中分配源发布者(参与者)角色。 有关详细信息,请参阅管理权限。