Github Actions自动部署Hugo到Gitee同时刷新Gitee Pages
我的博客使用GitHub上的pages功能发布的基于Hugo生成的静态网站,基本无法正常访问,所以想要同步一份到gitee上发布,现在使用GitHub Actions提供的计算机资源就可以直接在GitHub上进行静态网站的生成,发布,远程刷新gitee pages,触发条件可以是push或者定时等等,可谓十分好用,之后看到可以直接同步到gitee仓库,就实现一下试试,以下就是实现步骤,以及踩坑,当然强烈建议看开源代码的官方说明文档。
生成公钥和私钥并填入仓库
输入ssh-keygen -t rsa -C "user@email.com",然后回车几次,会生成 id_rsa.pub 文件和 id_rsa 文件,分别存放公钥和私钥:

Gitee仓库填入公钥
将公钥 id_rsa.pub 中的数据填入到gitee待备份仓库界面下 settings→Deploy keys→add personal public key
这里注意:要选右上添加personal public key才有写入权限

GitHub仓库填入私钥
Settings→Secret→New repository secre 用于之后的程序环境配置访问,命名为GITEE_RSA_PRIVATE_KEY

生成GitHub账号的 personal access token

将仓库权限选上就行了,然后将生成的token,配到私钥配置的地方 仓库→Settings→Secret→New repository secre,命名为ACCESS_TOKEN

在仓库secret处添加GITEE_PASSWORD,放入gitee账号密码用于刷新gitee pages
同之前步骤相同,之后用于环境变量的配置,就是以下3条secret,OSS的是自动部署到阿里OSS的脚本使用的,我是放在一个脚本里运行,需要了解可以看我另一篇文章。

在GitHub仓库创建并编写Actions脚本!!!
文件名随意从这点开就行,下面有模板,点开后修改也行,创建的文件默认放在.github/workflows/下
也可以用命令创建mkdir -p .github/workflows && touch .github/workflows/name.yml

将代码拷入,修改具体变量,比如仓库名等,如果不需要deploy直接去掉就行了,不影响:
点击commit changes 提交运行,之后就看得到运行流程了

实际效果和流程
如果是部署其他静态网站,修改deploy的代码块就行了,我顺便把部署到GitHub pages放在了里面:name: Deploypage
如果是hugo的话开源人员还提供了缓存机制,可以提高部署速度,可以去开源部分看,具体怎么看就是复制- uses: peaceiris/actions-hugo@v2 后面的部分搜索到GitHub中看,比如:https://github.com/peaceiris/actions-hugo,readme.md文档写得相当详实,也会更新说明

更多精彩可以关注我的博客或微信公众号LiuJohntun,记录并分享我的所见、所学、所想…

