hexo防止敏感数据部署

hexo防止敏感数据部署

原理

熟悉hexo的读者都知道,hexo的部署一般执行如下:
$hexo clean

$hexo g

$hexo d

如果不按照顺序执行这三步,读者会发现即使增添了page,部署时git也不会显示增添文件的记录,github上也没有提交的代码记录

其实这涉及到hexo的部署原理,hexo clean 会清除之前构建的代码,具体就是public文件夹;hexo g 会重新生成,这样读者添加的page也就构建在其中,此时新的public文件夹会生成;hexo d 就是将hexo g 改变的文件提交到github上

所以不执行clean和generate是不会真正意义上修改remote上的代码

敏感数据

敏感数据这里指的就是涉及公司业务的文章,因为hexo d 会将文章直接部署到github上,这样就全部公开化了

这边最好是本地可以访问,github无法访问你的敏感数据,这篇文章的目的就在此

利用.gitignore

熟悉git的读者,应该都知道可以使用.gitignore文件忽略一些提交

网上有些说修改.npmignore文件配置(hexo的根目录下)可以起到效果,经过测试发现没有起到作用,所以转而到git寻求解决方案

一般执行如下(当前目录为hexo根目录):

$cd .deploy_git git push的代码都在此文件夹下

$vim .gitignore

增加如下配置:

page name/ page的名称,hexo n page创建命令中你定义的文章名,如:linux命令性能监控及优化/

.gitignore 自己本身

但是笔者发现代码虽然没有提交到github上,但是hexo博客上有这个新建的标题,点击访问也是github默认的404页面(因为hexo g过程中一定会将文章标题写入hexo中,.gitignore只能做到忽略提交)

自定义404

上面的问题引入了这个小结,github默认的404页面会让读者误以为是网站的问题,其实是不想公开化,所以你可以自定义404页面

具体的步骤如下(hexo的根目录下):

$hexo n page 404 source目录下生成404目录

index.md中增加配置:

layout: false //是否使用布局文件
comments: false //是否有评论
permalink: /404 //设置链接
然后按照hexo部署步骤上传到github上,然后再访问敏感文章链接会跳转到自定义的404页面

其实根本问题是github上没有代码,但是hexo在generate时将目录还是写入了导致,但是笔者找不到解决忽略写入的方法

显示 Gitment 评论