Github Secrets(个人令牌)

背景

在使用 GitHub Actions 进行部署时,我们可能会遇到需要使用到 GitHub 个人令牌的情况,例如: git push 或者 npm publish 操作等。这时候,我们就需要在 GitHub 仓库中配置个人令牌,但是这样做会有一定的安全风险,因为这样的话,我们的个人令牌就会暴露在 GitHub 仓库中,任何人都可以看到,这样的话,我们的个人令牌就会有被滥用的风险。

那么我们应该如何在保证安全性 的同时也确保个人令牌就不会有被滥用的风险呢?

GitHub Secrets 便是为了解决这样的问题而生的,它可以让我们在 GitHub 仓库中配置个人令牌,但是不会暴露在 GitHub 仓库中,只有在 GitHub Actions 中才能使用到,这样的话,我们的个人令牌是安全点且不会有被滥用的风险了。

代码仓库:arvin-components

什么是 GitHub Secrets

GitHub SecretsGitHub 仓库中的一个功能,它可以让我们在 GitHub 仓库中配置个人令牌,但是不会暴露在 GitHub 仓库中,只有在 GitHub Actions 中才能使用到。具体的可参考 Github Docs

创建个人令牌

Developer Settings

点击 Settings => Developer settings, 如下图所示:

Person access token

点击 Personal access tokens => Generate new token => Generate new token(classic), 如下图所示:

New Personal access tokens

上面点击 Generate new token => Generate new token(classic) 后,会跳转到 New Personal access tokens 页面,主要包含 Token descriptionSelect scopes 两个内容。

Token description

  • Note 该字段是必填项,用于描述该个人令牌的用途,方便后续查看
  • Expiration 该字段用于设置该个人令牌的有效期

Select scopes

Select scopes 该字段用于设置该个人令牌的权限,这里我们可以根据自己的需求进行选择,这里我们选择 repoadmin:repo_hook,如下图所示:

最后点击 Generate token 按钮即可生成个人令牌。

复制、保存 Token

点击 Generate token 按钮后,会生成一个个人令牌。记得一定要复制保存好该令牌【后面需要用到】,原因是生成的该令牌只显示一次,页面刷新之后就不再显示了。如下图所示:

再次刷新页面或访问时,如下图所示:

设置 GitHub Secrets

新建仓库密钥【这里需要使用的便是刚刚上面创建并复制保存的 Generate Token】,点击 Settings => Secrets => New repository secret,如下图所示:

结语

至此,我们便完成了 GitHub Secrets 的配置,接下来我们就可以在 GitHub Actions 中使用该个人令牌了。

相关推荐
@PHARAOH13 小时前
HOW - Kratos 入门实践(二)- 概念学习
前端·微服务·go
解道Jdon17 小时前
VSCode 2026年2月更新:技能市场、CLI、钩子支持
ide·windows·git·svn·eclipse·github·visual studio
We་ct17 小时前
LeetCode 77. 组合:DFS回溯+剪枝,高效求解组合问题
开发语言·前端·算法·leetcode·typescript·深度优先·剪枝
KerwinChou_CN17 小时前
什么是流式输出,后端怎么生成,前端怎么渲染
前端
爱上妖精的尾巴18 小时前
8-20 WPS JS宏 正则表达式-懒惰匹配
服务器·前端·javascript
网络点点滴18 小时前
组件通信props方式
前端·javascript·vue.js
二十雨辰18 小时前
[小结]-线上Bug监控
前端·bug
前端技术18 小时前
【鸿蒙实战】从零打造智能物联网家居控制系统:HarmonyOS Next分布式能力的完美诠释
java·前端·人工智能·分布式·物联网·前端框架·harmonyos
CHU72903518 小时前
指尖践行环保——旧衣服回收小程序前端功能玩法详解
前端·小程序
LawrenceLan18 小时前
38.Flutter 零基础入门(三十八):网络请求实战 http、dio —— 获取列表与刷新 UI
开发语言·前端·flutter·dart