基于Github Actions 实现push自动部署博客到对象存储

基于Github Actions 实现hexo博客自动部署

前言

此前曾写过一篇文章,《一键部署hexo博客到腾讯云COS对象存储》,基于HEXO官方提供的部署方式,实现一个hexo的部署插件,不过官方的部署方式还是需要执行hexo -d g 命令,对于已经折腾好hexo站点的笔者而言,更希望的时专注于内容的生产,笔者曾经基于docker在在一台服务器上安装了hexo的环境,并将hexo站点和文章拆分为两个githuab项目,在不同的设备上编写文章后,推送到github, 然后再到服务器上执行一键脚本即可实现博客部署,但这种方式还是需要手动到服务器执行命令,虽然可以通过web hook 进行触发,但整个流程链路还是比较冗长,不仅需要编写web hook, 分布式写作还需要依赖服务器,我们需要更便捷的方式,更少的依赖!

准备

GitHub 官方推出的持续集成/部署(CI/CD)模块服务GitHub Actions ,和 jenkins、Travis CI 是同一类产品。我们需要做的就是基于Github Actions 实现hexo博客的自动部署。

在Github上,已经一些hexo的部署Actions,一般而言,直接使用这些Actions就可以满足需求了,不过由于此前我已经将hexo博客的站点配置和内容拆分,这样可以更专注于文章的管理,因此,我需要自己实现一个Actions ,来完成我的博客部署。

创建自己的Github Actions

虽然我们要实现自己Actions , 不过,也没有必要完全重新造轮子,至少Actions的框架我们不用从零开始,在Github上找到一款关于hexo 的Actions : hexo-deploy 基于它的结构,我们开始我们的Actions打造之旅吧。

##