Hexo配置私有仓库
由于需要在多个设备上更新Hexo博客,所以我在仓库中建立了两个分支,一个用来存放hexo generate生成的静态文件,一个用来存放博客源码。这样就可以在不同设备中通过git来管理博客。
这样就会导致一个问题,博客源码中一些没办法公开的东西也在仓库中被展示了出来。所以想着能不能将整个仓库变为private,从而隐藏信息。
然后就出现了一个新的问题,将仓库设置为private之后用github pages展示网页需要付费。
上面的路行不通之后就只能将静态文件和博客源码存在两个不同的仓库里了,存放静态文件(使用github pages)的仓库保持public,而存放博客源码的仓库设置为private。
但是这样一来更新博客源码和更新静态文件这两个部分就是割裂开来的,操作起来比较麻烦,那么如何更方便的更新和维护博客呢,以下就是探索出来的一条路。
GitHub Actions 是 GitHub 推出的持续集成服务,入门教程可参考:GitHub Actions 入门教程。
通过GitHub Actions可以对github源码进行操作,在这里的例子里,我们用GitHub Actions对private仓库的博客源码进行操作,生成hexo静态文件,然后将静态文件发布到public仓库上。
- 获取 GH_TOKEN 首先到个人中心设置 Personal access tokens,token 能让 GitHub Actions 构建所在的虚拟系统对发布仓库拥有权限可以进行推送操作。
- 设置 Actions Secrets 在private仓库中的
设置
-secrets and variables
-Actions
-secrets
里新建一个名为ACCESS_TOKEN
的键值项,内容填上一步获取到的 token 值。 - Actions 设置 在博客源码根目录下新建目录 .github/workflows ,然后在其下新建任务文件 deployment.yml,deployment.yml文件如下:
1 | # This is a basic workflow to help you get started with Actions |
完成了上面的步骤之后,只需要更新private仓库的代码,GitHub Actions就会自动生成静态文件并发布到public仓库上,博客网页就会自动更新了。