Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022
本文介绍如何使用 NuGet 命令行接口将 Python 包发布到 Azure Artifacts 源。
先决条件
| 产品 | 要求 |
|---|---|
| Azure DevOps | - An Azure DevOps 组织。 - Azure DevOps 项目。 - 下载并安装 Python。 |
创建源
登录到 Azure DevOps 组织,并导航到你的项目。
选择“项目”,然后选择“创建源”。
为源输入一个“名称”。
选择可见性设置,以控制哪些人可以查看源中的包。
如果希望你的源使用来自常见公共源(例如 nuget.org 或 npmjs.com)的上游软件包,请选择包括来自常见公共源的软件包。
对于范围,请选择该源的范围是限定为当前项目还是整个组织。
完成操作后,选择“创建”。
登录到你的 Azure DevOps 服务器,然后转到你的项目。
选择“项目”,然后选择“创建源”。
为源输入一个“名称”。
选择可见性设置,以控制哪些人可以查看源中的包。
如果希望你的源使用来自常见公共源(例如 nuget.org 或 npmjs.com)的上游软件包,请选择包括来自常见公共源的软件包。
对于范围,请选择该源的范围是限定为当前项目还是整个组织。
完成操作后,选择“创建”。
注意
创建源时,项目的 生成服务 帐户(例如 projectName 生成服务(orgName))默认会被分配 源和上游读取者(协作者) 角色。
发布包
如果尚未执行,请按照项目设置中的步骤对源进行身份验证,然后继续下一步。
登录到 Azure DevOps 组织,并导航到你的项目。
选择工件,然后选择连接到源。
从左侧导航区域中选择 twine。 如果这是你第一次将 Azure Artifacts 与 twine 配合使用,请确保通过选择获取工具并按照提供的步骤安装必备组件。
将 pypirc 文件添加到主目录,并将提供的代码片段粘贴到其中。 文件的内容类似于以下片段。 如果您已经有一个包含公共 PyPI 索引凭据的 pypirc,建议您删除其中的 [pypi] 部分,以防止误将私有包发布到 PyPI。
[distutils] Index-servers = FEED_NAME [FEED_NAME] Repository = https://pkgs.dev.azure.com/ORGANIZATION_NAME/PROJECT_NAME/_packaging/FEED_NAME/pypi/upload/在项目目录中运行以下命令,创建源分发和 wheel 分发。
python setup.py sdist bdist_wheel运行以下命令以发布包。 使用
-r REPOSITORY_NAME标志来确保不会意外将专用包发布到 PyPI。twine upload -r REPOSITORY_NAME dist/*
重要说明
必须具有孪生 1.13.0 或更高版本才能使用 artifacts-keyring。 有关详细信息,请参阅用法要求。