github仓库中的隐私信息处理

问题
在使用github仓库时,会出现有意或无意commit甚至push了包含隐私信息(密码、身份信息等)的文件。
原因
使用github action``github pages时,workflow等可能需要依赖token或密码等。
此外,即使删除了文件,但是仓库中的commit历史记录中仍然会存在,也需要进行处理。
解决方案
github action secret加密隐私信息
利用github提供的github action secret功能,将token等信息保存在secret中,然后在workflow中调用secret中的信息。
- 实际上,通过在workflow中增加临时修改文件的操作,也可以实现对所有文件中的隐私信息替换,而不仅是workflow目录下的文件中的隐私信息替换 。
以我的个人博客为例,由于个人博客中的gitalk评论区插件需要依赖github outh app,因此需要在workflow中调用github action secret中的token信息。
相关数据保存在config/_default/params.toml文件中。
|
|
注意到,文件中的隐私信息是明文保存的,任何访问者都能直接看到,很危险。

首先将原文替换为特定字符串
|
|
打开https://[仓库地址]/settings/secrets/actions(例如)
添加
secret,并将token等信息保存在secret中。

然后在workflow中添加进行替换的代码
|
|