深入解析 GitHub Token 与 NPM Token:自动化发布的完整指南

我们在配置github自动化发布的时候,总会用到secrets.GITHUB_TOKEN和secrets.NPM_TOKEN,本文我们讲解下这两个变量的配置。

一、GitHub Token:自动化工作流的内置凭证

1.什么是 GITHUB_TOKEN?

根据官方文档,GitHub 在每个工作流作业开始时​​自动创建​​唯一的 GITHUB_TOKEN:

  • 它是 GitHub App 安装访问令牌
  • 权限仅限于当前仓库
  • 令牌在作业结束时或最多 24 小时后过期
  • 通过 ${{ secrets.GITHUB_TOKEN }} 引用

2.关键特性

  • 自动创建:无需手动生成,开箱即用
  • 权限受限:默认权限取决于仓库设置
  • 安全隔离:令牌权限仅限于当前仓库
  • 自动过期:最大生命周期 24 小时

3.使用

使用时,需要在项目的 Settings - Actions - General 当中,勾选Read and write permissions

二、NPM Token:包发布的专用凭证

1.登录 npm 账户​​

访问 npmjs.com 并登录

2.​​生成访问令牌

  • 点击右上角头像 → Access Tokens
  • 点击 "Generate New Token"
  • 创建的时候选择"Automation"



3.保存并使用

  • 复制生成的 Token(格式:npm_xxxxxxxxxx)
  • 在 GitHub 仓库 Secrets 中添加为 NPM_TOKEN,位置如下图:

三、工作流中的最佳实践

1. 组合使用示例

yaml 复制代码
jobs:
  release:
    steps:
      - name: Publish Package
        run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

2. 安全增强策略

​​最小权限原则​​:
yaml 复制代码
permissions:
  contents: write
  packages: write
定期轮换
  • NPM Token 每 3 个月更新一次
  • 删除未使用的历史 Token
​​审计监控
bash 复制代码
# 检查 NPM Token 列表
npm token list

# 检查 GitHub 审计日志
https://github.com/settings/security-log
相关推荐
星依网络13 小时前
棋牌网站管理后台嗅探查找方法(2025最新)
github
小毛驴85021 小时前
HTTP方法GET,HEAD,POST,PUT,PATCH,DELETE,OPTIONS,TRACE,RESTful API设计的核心详解
http·github·restful
站长朋友1 天前
【邀请函】锐成信息 × Sectigo | CLM - SSL 证书自动化运维解决方案发布会
运维·自动化·ssl·clm·sectigo·47天ssl证书
King's King1 天前
自动化仓库规划设计方案
运维·自动化
lkbhua莱克瓦241 天前
Java基础——面向对象进阶复习知识点8
java·笔记·github·学习方法
逛逛GitHub1 天前
这个牛逼的股票市场平台,在 GitHub 上开源了。
前端·github
duandashuaige1 天前
解决用electron打包Vue工程(Vite)报错electron : Failed to load URL : xxx... with error : ERR _CONNECTION_REFUSED
javascript·typescript·electron·npm·vue·html
tokepson1 天前
记录 | 个人开发库推送至PyPi流程梳理(ChatGPT to Markdown 工具发布完整流程)
python·github·技术·记录
掘金安东尼1 天前
前端周刊第436期(2025年10月13日–10月19日)
前端·javascript·github
资讯全球1 天前
2025机器人自动化打磨抛光设备及汽车零件打磨新技术10月应用解析
人工智能·机器人·自动化