向现有的 PyPI 项目添加受信任的发布者
向 PyPI 项目添加受信任的发布者只需要一个设置步骤。
在“您的项目”页面上,单击要配置的任何项目的“管理”按钮:

然后,点击项目侧边栏中的“发布”:

该链接将带您进入项目的发布者配置页面,您可以在其中为 PyPI 支持的不同平台(例如 GitHub Actions)配置受信任的发布者。
要启用发布者,您需要告诉 PyPI 如何信任它。每个受信任的发布者都有各自的配置要求;点击下方标签页即可查看。
对于 GitHub Actions,您必须提供仓库所有者的姓名、仓库名称以及已授权上传到 PyPI 的 GitHub Actions 工作流的文件名。此外,您还可以选择提供GitHub Actions 环境 的名称。
例如,如果您有一个项目,https://github.com/octo-org/sampleproject
该项目使用在 中定义的发布工作流.github/workflows/release.yml
和名为 的自定义环境pypi,那么您可以执行以下操作:

笔记
配置环境是可选的,但强烈建议这样做:使用 GitHub 环境,您可以对受信任的工作流施加额外的限制,例如要求受信任的存储库维护者子集对每次运行进行手动批准。
点击“添加”后,您的发布商将被注册并显示在页面顶部:

从现在开始,该release.yml工作流程octo-org/sampleproject将能够为已注册的项目从 PyPI 生成短期 API 令牌。
对于 Google Cloud,您必须提供用于发布内容的帐户或服务帐户的电子邮件地址。您可以点击此处了解更多关于 Google Cloud 服务帐户的信息。
例如,如果您在项目“PROJECT_NAME”中创建了一个名为“SERVICE_ACCOUNT_NAME”的服务帐户,并且该项目正在被您想要发布到 PyPI 的环境使用,则您的服务帐户电子邮件将采用以下格式
SERVICE_ACCOUNT_NAME@PROJECT_NAME.iam.gserviceaccount.com,您需要执行以下操作:

警告
Google Cloud 还 为各种产品提供默认服务帐户:
- 计算引擎:
PROJECT_ID-compute@developer.gserviceaccount.com - 应用引擎:
PROJECT_NAME@appspot.gserviceaccount.com
但是不建议将这些用于发布,因为它们在创建时默认提供给每个服务。
笔记
配置主题是可选的。主题是代表发出请求的主体的数字 ID。虽然并非必需,但提供主题可以进一步限制用于发布的身份,确保只有特定的服务帐号实例才能发布,而不是任何具有已配置电子邮件地址的服务帐号。 有关更多详细信息,请参阅https://cloud.google.com/docs/authentication/token-types#id-contents
点击“添加”后,您的发布商将被注册并显示在页面顶部:

对于 ActiveState,您必须提供 ActiveState 项目名称、该项目所属的 ActiveState 组织以及执行发布操作的 ActiveState 用户。点击此处了解更多关于 ActiveState 平台设置的信息。
点击“添加”后,您的发布者将被注册并显示在页面顶部。

笔记
目前仅支持托管在https://gitlab.com上的项目。不支持自托管实例。
对于 GitLab CI/CD,您必须提供仓库的命名空间、仓库名称以及已授权上传到 PyPI 的顶级 GitLab CI/CD 流水线定义的路径。此外,您还可以 选择提供GitLab CI/CD 环境的名称 。
例如,如果您有一个项目,其中https://gitlab.com/namespace/sampleproject
包含一个在 `<project_name>` 中定义的顶级管道.gitlab-ci.yml和一个名为 `<custom_environment_name>` 的自定义环境release,那么您可以执行以下操作:

笔记
配置环境是可选的,但强烈建议这样做:使用 GitLab 环境,您可以对受信任的工作流施加额外的限制,例如要求受信任的存储库维护人员子集对每次运行进行手动批准。
点击“添加”后,您的发布商将被注册并显示在页面顶部:

从现在开始,该.gilab-ci.yml管道namespace/sampleproject
将能够从 PyPI 为您注册的项目生成短期 API 令牌。
一个发布者可以注册到多个 PyPI 项目(例如,用于多项目存储库),而一个 PyPI 项目可以有多个发布者(例如,用于不同架构、操作系统上的多个工作流程)。