其实主要是Rsync的坑爹权限配置。
Hexo配置
只需要在_config.yml
下的deploy
中写入:
1 | type: 'rsync' |
别忘了npm install hexo-deployer-rsync --save
哦!
Rsync在Windows下的安装
有很多客户端,我选用了cwRsync。不过他家网站似乎容易崩?所以还是去archive.org里边儿找吧……https://archive.org/download/cwRsync_5.5.0_x86_Free/cwRsync_5.5.0_x86_Free.zip
搞完之后,把bin里边的东西拷到你想要的位置,并且将rsync.exe
所在的目录添加至环境变量。
好的……几乎大功告成了。但是别忘了,我们还是有证书的好,这样就不用每次慢悠悠打密码了。
在rsync.exe
的上一级目录中,创建新目录home\[username]\.ssh\
,并在执行ssh-keygen,将公钥和私钥放在该放的位置。创建.ssh\config
,放入如下内容:
1 | Host [yourhostname] |
理论上来说,你应该可以用了。执行hexo d
,如果没有错误,你就完工了。
然而,文件权限方面,你可能会遇到一些问题。像这样:bad owner or permissions on /home/[yourusername]/.ssh/config
原因是,ssh要求文件必须仅为用户所有,并仅能为用户修改。所以,你需要点击下图的编辑:
把这里删到只剩你一个用户,并将你自己的权限设为完全控制。同样地,处理你的公钥和私钥。
好的,rsync应该可以用了。
部署
1 | hexo clean |
你应该已经明白了,还要说吗?