原文发于我的博客和公众号:“Noosphere博客”,“智圈云公众号”,了解相关信息可以关注“智圈云”
目标
我们知道使用github action 可以很简单的部署hexo的静态文件到github pages,但是如果在国内我们希望部署到github pages同时也部署到coding,然后通过dns双线路由,另外,我们可能有多个账号,比如公司的和个人的博客或者网站,也是同时部署到coding和github,那就这个github action解决不了,下面我们改造一下,使其达到这个目标:
- hexo的source存放在独立库
- 生成的静态文件存在独立的库
- 提交markdown文件后,自动生成静态文件
- 自动部署到github pages
- 自动部署到coding
- 同一份hexo source库,只需要配置一次hexo的
_config.yml
,就可以直接通过hexo deploy -g
或者git push
来触发部署 - 支持多个github账号,同时也支持多个coding账号
配置hexo的deploy
找到hexo根目录的_config.yml,然后配置deploy字段的内容如下
deploy:
type: 'git'
repo:
github: 'git@noosphere-coder.github.com:noosphere-coder/noosphere-coder.github.io.git'
coding: 'git@e.coding.net:noosphere/noosphere.git'
branch: 'master'
这个配置目标是让我们直接hexo deploy
可以同时推送到 github 和 coding 的 pages 仓库
配置 hexo deploy命令支持多个github和coding账号
一般来说,如果我只有一个github的账号,在这个配置下直接执行hexo g -d
,一个命令就可以直接完成两个仓库的部署了。
那么如果我们的github账号有多个,比如有一个办公用的,一个私人的,那怎么办?
我们知道 git 的 ssh 推送方式是需要使用特定的 key 的, 所以,我们只需要配置 ssh 去路由特定的域名到key即可.
根据需求,在配置这个ssh key的路由之前,我们要先生成一个key用于做pages部署