Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
Azure Pipelines 使开发人员能够将 Python 包发布到 Azure Artifacts 源和公共注册表,例如 PyPi。 本文将指导你了解如何将 Python 包发布到 Azure Artifacts 源。
先决条件
使用数据流进行身份验证
要使用 twine 发布 Python 包,您必须先对 Azure Artifacts 源进行身份验证。
TwineAuthenticate task 向 PYPIRC_PATH 环境变量提供 Twine 凭据。 然后,此变量用于twine 直接从管道发布包。
重要
存储在PYPIRC_PATH环境变量中的凭据优先于.ini文件和.conf文件中的凭据。
如果在管道的不同阶段添加多个 TwineAuthenticate 任务,则每个任务执行都将扩展现有环境变量PYPIRC_PATH)。
登录到 Azure DevOps 组织,并导航到你的项目。
选择 “管道”,然后选择管道定义。
选择 “编辑”,然后将以下代码片段添加到 YAML 管道。
steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.x' - task: TwineAuthenticate@1 inputs: artifactFeed: <PROJECT_NAME/FEED_NAME> ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME>
将 Python 包发布到订阅源
注意
若要使用 Azure Pipelines 将包发布到一个源,请确保项目集合的 生成服务 和项目的 生成服务 身份在您的源设置中被分配为 发布者(贡献者) 角色。 有关详细信息,请参阅管理权限。
登录到 Azure DevOps 组织,并导航到你的项目。
选择 “管道”,然后选择管道定义。
选择 “编辑”,然后将以下代码片段添加到 YAML 管道。
steps: - task: UsePythonVersion@0 displayName: 'Use Python 3.x' - 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> ## For an organization-scoped feed, use: artifactFeed: <FEED_NAME> displayName: 'Twine Authenticate' - script: | python -m twine upload -r <FEED_NAME> --config-file $(PYPIRC_PATH) dist/*.whl displayName: 'Upload to feed'