深入解析 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
相关推荐
mortimer1 小时前
安装NVIDIA Parakeet时,我遇到的两个Pip“小插曲”
python·github
心之语歌4 小时前
Spring AI MCP 客户端
人工智能·spring·github
RPA+AI十二工作室5 小时前
影刀RPA_抖音评价获取_源码解读
运维·机器人·自动化·源码·rpa·影刀
yeshan3336 小时前
使用 Claude Code 的自定义 Sub Agent 完善博文写作体验
ai·github·agent·claudecode
程序视点7 小时前
望言OCR 2025终极评测:免费版VS专业版全方位对比(含免费下载)
前端·后端·github
吳所畏惧7 小时前
NVM踩坑实录:配置了npm的阿里云cdn之后,下载nodejs老版本(如:12.18.4)时,报404异常,下载失败的问题解决
前端·windows·阿里云·npm·node.js·batch命令
玩个冰球8 小时前
Stata 18下载安装教程(非常详细),看完这一篇就够了(附安装包)
github
Xi_Xu8 小时前
Xget:下一代开源资源获取加速引擎,让你的文件下载、储存库克隆和镜像拉取快如闪电
开源·github
RPA+AI十二工作室8 小时前
影刀RPA_Temu关键词取数_源码解读
大数据·自动化·源码·rpa·影刀
用户40993225021210 小时前
FastAPI的查询白名单和安全沙箱机制如何确保你的API坚不可摧?
前端·后端·github