背景
在使用 GitHub Actions
进行部署时,我们可能会遇到需要使用到 GitHub
个人令牌的情况,例如: git push
或者 npm publish
操作等。这时候,我们就需要在 GitHub
仓库中配置个人令牌,但是这样做会有一定的安全风险,因为这样的话,我们的个人令牌就会暴露在 GitHub
仓库中,任何人都可以看到,这样的话,我们的个人令牌就会有被滥用的风险。
那么我们应该如何在保证安全性 的同时也确保个人令牌就不会有被滥用的风险呢?
GitHub Secrets
便是为了解决这样的问题而生的,它可以让我们在 GitHub
仓库中配置个人令牌,但是不会暴露在 GitHub
仓库中,只有在 GitHub Actions
中才能使用到,这样的话,我们的个人令牌是安全点且不会有被滥用的风险了。
代码仓库:arvin-components
什么是 GitHub Secrets
GitHub Secrets
是 GitHub
仓库中的一个功能,它可以让我们在 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 description
和 Select scopes
两个内容。
Token description
- Note 该字段是必填项,用于描述该个人令牌的用途,方便后续查看
- Expiration 该字段用于设置该个人令牌的有效期
Select scopes
Select scopes 该字段用于设置该个人令牌的权限,这里我们可以根据自己的需求进行选择,这里我们选择 repo
和 admin:repo_hook
,如下图所示:
最后点击 Generate token
按钮即可生成个人令牌。
复制、保存 Token
点击 Generate token
按钮后,会生成一个个人令牌。记得一定要复制保存好该令牌【后面需要用到】,原因是生成的该令牌只显示一次,页面刷新之后就不再显示了。如下图所示:
再次刷新页面或访问时,如下图所示:
设置 GitHub Secrets
新建仓库密钥【这里需要使用的便是刚刚上面创建并复制保存的 Generate Token
】,点击 Settings
=> Secrets
=> New repository secret
,如下图所示:
结语
至此,我们便完成了 GitHub Secrets
的配置,接下来我们就可以在 GitHub Actions
中使用该个人令牌了。