hexo 支持多种部署方式, 如 git repos/rsync/Heroku/FTPSync等, 如果博客使用 github pages 托管, 那么用 git repos 的方式部署最方便了, 如果是自己的vps, rsync是一种不错的方式.
使用 hexo-deployer-rsync
配置, vim $SITE_HOME/_config.yml
:
deploy: |
执行 hexo generate
和 hexo deploy
:
...... |
明明配置了非22
的ssh端口, 但执行deploy时仍然连接22端口, 看了下代码 node_modules/hexo-deployer-rsync/lib/deployer.js
, :
'use strict'; |
好像发现了问题, 从上面代码可知, deployer 也是 spawn
rsync
来进行发布的, hexo 配置里的参数和值会转换成rsync的. 但是指定port的代码有点问题, 需要做以下修改:
把
'-e ssh',
改成
"-e 'ssh -p " + args.port + "'",
写成一个sh脚本
上面的操作略为麻烦, 不用hexo的插件, 也可以写成一个shell文件, 下次直接执行即可:
vim deploy_to_vps.sh
#!/bin/sh |
参考
http://stackoverflow.com/questions/4549945/is-it-possible-to-specify-a-different-ssh-port-when-using-rsync
https://hexo.io/zh-cn/docs/deployment.html