Hexo自动部署功能
Xplorist Lv6

Hexo自动部署功能

起源

  • 新公司里面,管控很严只能够访问指定的外网网址,他们是使用的白名单的方式控制访问权限,我自己的域名当然不会在白名单之内了,有名气的github还是被放行的,于是被自己闲置了很久的GitHub又可以用起来了。首先就想到的是将Hexo中的静态文件直接push到GitHub Pages的仓库中,然后在本地试了一下,果然是可以的,然后测试Hexo的depoly功能,其实就是将源码打包生成静态文件然后通过git工具push到GitHub,原理很简单,自己一想,这样就可以将自己的一份源码同时部署到自己的Nginx服务器和GitHub Pages中,这样自己既可以在自己的主站上访问也可以在自己的GitHub Pages上进行访问。

步骤

  • 在本地添加hexo-deployer-git
1
yarn add hexo-deployer-git
  • 然后在_config.yml中添加deploy的配置
1
2
3
4
deploy:
type: git
repo: https://github.com/Xplorist/Xplorist.github.io
branch: master
  • 在.gitlab-ci.yml中进行修改,将原来的hexo generate修改为现在的hexo clean && hexo deploy
1
2
- hexo clean && hexo deploy
#- hexo generate
  • 还有一个问题,就是在GitRunner所在的服务器上执行hexo deploy的时候会报错,是因为没有设置git的账号和密码,使用putty登录到该服务器,设置一下git记住密码,push这个GitHub Pages所在的公共仓库,然后输入账号密码,后面GitRunner执行的时候就不用再提示输入账号密码了,其实这种方案就是自己为了偷懒,更好的解决方案是配置SSH,使用SSH去提交
1
git config --global credential.helper store

到此,Hexo自动部署的功能就实现了。

 评论