优雅的将hexo部署到github和coding

1. 前言

上次写了篇文章 使用github action同时部署hexo到github和coding最优雅的方式,从实现原理的角度做了介绍,由于实现的目标比较多,所以看起来比较复杂,这次我们不讲原理,仅仅按实现目标来介绍如何配置。

1.1 目标

先说我们要实现的目标,然后再按目标来介绍方法

  1. hexo的source存放在独立私有库jiuhao
  2. 生成的静态文件存放在github和coding独立的库
  3. 本地可以通过 hexo d -g一个命令一次性部署到github和coding
  4. 可以通过git push推送到github的surce仓库后,由action触发部署到github和coding的静态仓库
  5. 同时实现3和4,只需要配置一次_config.yml。而不需要在action里面写死目标静态仓库的地址,方便维护
  6. 支持多个github账号,同时也支持多个coding账号

说明:

  • 目标 1 把 source 放在独立的私有库是安全性考虑
  • 目标 3 和 4 是方便可以使用两种方法都能达到部署的目标, 3 是手工部署, 4 是通过git push触发,比如 github 的 action 可能某些原因失败了,暂时又没时间去维护,那么我可以直接在本地hexo d -g部署就行
  • 目标5是实现3和4的时候,两种方法的目标仓库(publish repo)地址配置只需要一处维护,不需要分散在 _config.yml 和 github action
  • 目标 6 是可选目标。 如果不需要区分工作和私人用的github 账号,可以不需要理会这个目标。

1.2 已有的解决方案分析

为了达到上面这些目标,我找了一轮市面上各种各样的解决方案,没看到完全符合要求的。主要问题包括

  • github action market上的hexo action没有支持同时部署到github和coding的action可以直接重用
  • github action market上已有的hexo action的deploy方式无非两种,一种是直接把目标(publish repo)仓库地址配置action,一种是直接使用source里面_config.yml的配置. 如果是前者,则意味着我们需要吧publish repo写在两个地方,一个是本地的_config.yml一个是action。维护起来比较麻烦。明显应该使用后者。
  • 其他的一些博客提到的方法里面,大多存在前面一点存在的问题,而且大多是直接在action里定制脚本,没有抽成action,不方便重用。

就这样,观摩了一轮,我决定fork一个github mark上的hexo action出来,按需求自己弄一个action,经过考察,[sma11black/hexo-action](https://github.com/sma11black/hexo-action)这个action比较接近需求,只需要简单改造就可以使用,怎么改造这里就不说了,{% post_link hexo-action-deploy-to-coding-and-multi-account 见上一篇文章%}

经过简单改造的action的仓库是 [noosphere-coder/hexo-action@master](https://github.com/noosphere-coder/hexo-action),下面我们直接使用就好

2 正文

2.1 只实现目标1-5的配置

排除掉目标6,只需要是实现上面说的1-5的目标,也即是我们可以使用我们平时已经在github和coding里面使用的ssh key就好。那么配置很简单

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值