使用 GitHub Actions 和 OIDC 安全发布 npm 包
摘要
本文介绍如何使用 npm Trusted Publishing,在 GitHub Actions 中通过 OpenID Connect(OIDC)发布 npm 包。整个发布过程不需要创建或保存长期有效的 NPM_TOKEN,并可通过指定仓库、Workflow 和 GitHub Environment 限制发布来源。
本文将依次完成以下工作:
-
解释为什么 npm 自动发布应从长期 Token 迁移到 OIDC。
-
介绍 OIDC 和 npm Trusted Publishing 的工作原理。
-
在 npmjs.com 中为包添加 GitHub Actions Trusted Publisher。
-
在 GitHub 中配置 Environment、审批规则和最小权限。
-
编写一个完整、安全且不依赖
NPM_TOKEN的发布 Workflow。 -
介绍私有依赖、首次发布、npm v12、Provenance 和常见错误。