Hexo博客(15)部署与备份总结
Git仓库与ssh配置
Git仓库使用情况
目前我的博客使用了2家代码托管平台的远程Git仓库
2017.12.20启用新域名madaimeng.com,之后博客更新都在新域名上,旧域名masikkk.com只保留之前的文章,不再更新。
2019.1.7 GitHub在被微软收购后宣布私有库完全免费不限量,决定把源码往GitHub私有库中备份一份。
- masikkk.com部署在GitHub和Coding的public仓库中,都是pages服务:
- Coding.net:https://coding.net/u/masikkk/p/masikkk/git
- GitHub:https://github.com/masikkk/masikkk.github.io
- madaimeng.com部署在GitHub和Coding的public仓库中,都是pages服务:
- Coding.net:https://coding.net/u/masikkk/p/madaimeng/git
- GitHub:https://github.com/masikkk/madaimeng
- 源码备份在Coding和GitHub的私有仓库中
ssh密钥使用情况
与使用的2个git仓库相对应,一共需要2对ssh私钥公钥:
id_rsa/id_rsa.pub
:用于连接Github,部署博客。coding_rsa/coding_rsa.pub
:用于连接Coding,部署博客和备份博客源码。
ssh配置
在ssh的~/.ssh/config
配置中指定域名与密钥文件的对应关系
注意:公司的配置需要ProxyCommand代理,家里的配置不需要代理
Host github.com *.github.com
ProxyCommand connect -H 172.17.18.80:8080 %h %p #设置代理
IdentityFile ~/.ssh/id_rsa
Host git.coding.net
ProxyCommand connect -H 172.17.18.80:8080 %h %p #设置代理
IdentityFile ~/.ssh/coding_rsa
2017.5.25更新:由于公司内网代理环境下无法连接git.oschina.net,不再使用开源中国码云Git仓库备份博客源码。
每次博客更新流程
拉取博客最新源码
每次写博客时,先要git pull origin master
从Coding上拉取最新博客源码,前提是本地的origin远程仓库对应的是Coding上的博客备份仓库,当然如果当前在上次git push的电脑上则不用git pull。
文章写作、生成与本地调试
hexo n article-name
新建md文本(现在我都是直接在source/_posts目录中新建.md文本文档,不用命令了),直接用notepad++等编辑md文件修改博客内容,写完后hexo g
生成,hexo s
启动本地服务预览调试。
部署
调试没问题后hexo d
同时部署到GitHub Pages和Coding Pages。
备份博客源码
最后在博客根目录下git add .
将新添加的所有文件纳入git版本控制,git status -s
查看文件状态从而知道本次添加了哪些文章、修改了哪几个文件,git commit -m "提交日志"
本地提交,git push origin master
推送到Coding上的博客备份仓库中。
更换电脑后需要做的
以下都是Windows环境
安装git
从Git官网https://git-scm.com/downloads 或 msysgit(Git for Windows) http://gitforwindows.org/ 下载并安装Git for Windows。安装后就有了Git Bash命令行工具。
安装Node.js
Windows:从 Node.js 官网 https://nodejs.org/en/ 下载并安装 Windows 版。安装 Node.js 之后 Git Bash 中就有了 npm 命令。如果公司内访问外网需要配代理则给 npm 设置代理。
Mac:brew install node
使用 Homebrew 一个命令安装 Node 即可。
ssh公钥私钥配置
生成Github和Coding的ssh公钥私钥对,把公钥填入对应网站页面,配置~/.ssh/config
,指定不同host所使用的密钥。
从Coding上clone博客源码到本地
假设本地已安装了git和node.js,也已经有了npm环境,方法如前述。
从Coding上克隆博客源码到本地madaimeng_backup目录:
- 使用ssh方式
git clone git@git.coding.net:masikkk/madaimeng_backup.git
推荐使用ssh方式,可配合ssh密钥免密访问,不用每次输入密码。
- 使用https方式
git clone https://git.coding.net/masikkk/madaimeng_backup.git
如果使用https方式,由于我的博客源码备份项目是私有项目,clone时需要输入coding的账号和密码。
安装hexo环境
然后进入madaimeng_backup目录,依次执行下面命令:npm install -g hexo-cli
,安装hexo最新版npm install
,根据package.json
安装依赖,因为.gitignore
文件中配置了将node_modules/
文件夹忽略,所以之前安装的插件并不会备份到远程Git仓库,但是我们备份了package.json文件,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包。
注:不需要单独安装hexo-deployer-git,已经添加在package.json中,npm install
就一起安装了。
注意不需要执行hexo init
指令,因为hexo需要的文件目录我们已经有了,如果执行hexo init
会将已有文件覆盖掉。
需要手动修改的Hexo模块
目前为止有唯一一个手动修改的Hexo模块,即Hexo默认MarkDown渲染引擎中的node_modules\marked\lib\marked.js 脚本,由于Hexo模块没有备份,每次换电脑后都要手动修改此脚本,具体修改参考 Hexo博客(13)添加MathJax数学公式渲染
上面步骤都完成后,本地就已恢复了hexo所需的所有环境,之后就是正常的博客更新流程。
上一篇 Apache-ActiveMQ
下一篇 Eclipse-EGit插件使用
页面信息
location:
protocol
: host
: hostname
: origin
: pathname
: href
: document:
referrer
: navigator:
platform
: userAgent
: