Hexo之多机更新篇

前言

前些天在家里电脑搭建了博客,使用过程中发现一个问题,出门后不能即时更新,管理起来难免有些拘束,所以打算部署一份在单位电脑。

查阅网上众多大神的解决方案,大多思路是在仓库再建立一个存放源文件的分支,每次更新后把修改后的文件推送到此分支,再推送到静态文件所在分支。个人认为略麻烦,博客优化完其他文件少有改动,基本只是推送博文。

我采用的方法是把源文件和部署环境放到U盘,想要更新博客时重新部署环境,只要环境完善,任何地方都可以随时推送博文。而这篇教程就是在单位完成的。


准备工作

同步文件

├── node_modules 插件文件夹

├── scaffolds 模版文件夹

├── source 存放用户资源

├── themes 主题文件夹

├── .gitignore 记录不上传仓库的文件

├── _config.yml 存放网站的配置信息

├── package.json 存放已安装插件的信息

└── package-lock.json 存放已安装插件的来源信息

复制以上文件到新主机,进行后续步骤。

部署Hexo

  1. 安装 Node.jsGit

  2. 安装Hexo

到新的博客文件夹打开 Git-Bash 执行如下指令安装 Hexo和插件 。

npm install -g hexo-cli

npm install

安装完成后对比新旧 package.json 文件,确定需要重新安装的插件。

  1. 安装缺少的插件(实例)

npm install hexo-deployer-git –save

npm install hexo-generator-searchdb –save

npm install valine –save

至此,本地已部署完成。

Coding 设置

Git 身份认证

为了告诉Git 这台电脑上提交的文件是谁提交的,执行如下代码。

git config –global user.name “YOUR NAME”

git config –global user.email “YOUR EMAIL ADDRESS”

其中,YOUR NAME是自己取的名字,YOUR EMAIL ADDRESS是自己的 Coding 邮箱。

SSH Key 生成

  • 执行如下命令,生成 SSH Key 。

ssh-keygen -t rsa -b 4096 -C “your_email@example.com

其中,`your_email@example.com`是你的 Coding 注册邮箱。

  • 执行如下命令,依次开启 ssh-agent 、添加 SSH key 、拷贝 SSH Key 。

eval “$(ssh-agent -s)”
ssh-add ~/.ssh/id_rsa
clip < ~/.ssh/id_rsa.pub

此时 SSH Key 内容已被拷贝到系统剪贴板。

添加 SSH key 到 Coding

登陆后点击左侧边栏-账户选项,点击SSH公钥,右键粘贴到公钥内容框中,勾选永久生效,点击添加完成。

测试 SSH 链接

  • 在 Git Bash 中执行如下命令。

ssh -T git@git.coding.net

如果提示警告,输入yes回车即可。

Host git.coding.net
Hostname git-ssh.coding.net
Port 443

再次使用以下命令进行测试

ssh -T git@git.coding.net

上传测试

写一篇新博文或修改配置文件后执行如下指令测试是否部署成功。

hexo deploy

当改动已生效则证明部署成功。