Azure Artifacts 中的 Python 包入门
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
本指南将指导你使用 Azure Artifacts 在源中发布和使用 Python 包。
创建源
选择 项目,然后选择“ 创建源”。

为源指定 名称 并选择其 可见性 (谁可以查看此源) 、 上游源和 范围 (项目范围或组织范围的) 设置中的包。

完成操作后,选择“创建”。
注意
默认情况下,创建新源时, 项目集合生成服务 (组织范围的) ,项目级 生成服务 (项目范围的) 设置为 协作者 。
Azure Artifacts 预安装在 TFS 2018 中。 如果这是首次使用源,系统可能会要求 你分配许可证
转到 “生成 & 版本 ”并选择“ 包”。

选择 “+ 新建源”。

为源提供 名称、 说明并设置 谁可以阅读、 谁可以参与 以及是否要 包括外部包。

完成操作后,选择“创建”。
连接到源
可通过两种主要方法连接到源以发布或使用 Python 包:
- 安装和使用 artifacts-keyring 包,该包会自动为你设置身份验证。
- 手动为 pip.ini/pip.conf 设置推送凭据,使用个人访问令牌 (PAT) 进行拉取的 .pypirc 。
注意
较新版本的 Ubuntu 不支持 artifacts-keyring。
使用 artifacts-keyring 设置身份验证
项目 密钥包 允许你设置身份验证,以在源中发布和使用 Python 包。 pip 和 twine 都使用 Python 密钥环库查找凭据。
重要
必须使用 pip 19.2 和 twine 1.13.0 或更高版本才能使用 artifacts-keyring。
在提升的命令提示符窗口中,运行以下命令以安装 artifacts-keyring 包:
pip install artifacts-keyring从源安装包。
pip install <package-name> --index-url https://pkgs.dev.azure.com/<your-organization-name>/<your-project-name>/_packaging/<your-feed-name>/pypi/simple将包发布到源。
twine upload --repository-url https://pkgs.dev.azure.com/<your-organization-name>/<your-project-name>/_packaging/<your-feed-name>/pypi/upload
注意
项目密钥包分层在我们的 Azure Artifacts 凭据提供程序之上。 有关更高级的配置选项,请查看 artifacts-credprovider 存储库。
手动配置身份验证
使用打包>读取范围创建个人访问令牌,以在 Azure DevOps 中进行身份验证。
从源中,选择“ 连接到源”。
选择 Python 标头下的 pip。
请确保已从“获取工具”菜单安装最新版本的 Azure Artifacts 密钥环 。
注意
Artifacts-keyring 包提供用于在 Azure Artifacts 源中发布和使用 Python 包的身份验证。
创建 virtualenv(如果还没有虚拟)。
将 pip.ini (Windows) 或 pip.conf (Mac/Linux) 文件添加到 virtualenv。 请确保不要将个人访问令牌签入公共存储库。
[global] extra-index-url=https://<your-feed-name>:<your-PAT-key>@pkgs.dev.azure.com/<your-organization-name>/<your-project-name>/_packaging/<your-feed-name>/pypi/simple/运行以下命令以安装包
pip install <package-name>
首次连接到 Azure DevOps 时,系统会提示输入凭据。 在相应的字段中输入用户名 (任何字符串) 和个人访问令牌。 凭据将在本地缓存,用于下次使用服务时自动登录。
注意
如果要在 Azure Pipelines 中设置身份验证,请使用 Python Pip 身份验证 任务来安装包,或者 使用 Python 孪生上传身份验证 任务推送包。