博客搭建(六)-Github Actions自动部署Hexo到Github pages
前言
前面我们已经搭建并部署完我们的blog了,但是每次部署操作都很繁琐,有时可能只是改了个错别字,就需要重新run一遍命令,那么有没有什么办法能简化这个过程吗?今天的文章我们就来说下,如何自动化这个过程,这个自动化的过程一般称为CI/CD
Github Actions
GitHub Actions 是 GitHub 的持续集成服务。持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions。
很多操作在不同项目里面是类似的,完全可以共享。GitHub 允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用。
如果你需要某个 action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。这就是 GitHub Actions 最特别的地方。
正文
创建私有仓库
首先创建一个私有仓库,用来存放我们的工程项目,也就是你的hexo工程。
将hexo工程push到远端(记得删除项目中所有的 .git
文件夹)。
创建token
然后打开github网页,登录你的账号,进入setting页面。
拉到最下方,点击 Developer settings
创建Token
勾选全部的权限,名称随意。并点击「Generate token」完成生成。保存好这个令牌,它不会再次出现。
打开hexo项目的github仓库,进入token配置页面。
将上面步骤生成的token复制,并添加到此处
Tips: 不生成上面的key也是可以的,只要将你的ssh私钥,粘贴至上述token位置也是生效的,注意ssh不要设置密码。
配置 GitHub Action
在hexo项目中创建文件.github/workflows/hexoCI.yml
,并复制下方代码,请仔细阅读注释,修改最后几行的提交设置。
这里我用的是node版本为 21.x ,(因为20.x会有部署失败的情况,不过后续新版本21.x已修复。)
1 |
|
将项目中修改push到远端。
验证
修改或新增某一篇文章,push到github。等待actions结束,查看网站上对应的文本是否发生变化。