前头的话
目前为止,从刚开始搭建本地博客,部署至github以及coding,到绑定自己的个人域名,再到现在,使用coding的私有仓库同步博客源代码,以及构建了一个基于docker的hexo镜像,用来以后迁移环境,再到现在使用daocloud进行持续自动集成,博客上的东西基本搞的还是比较差不多了。
其实我还是挺喜欢瞎折腾的,说实话,主要也是为了装逼,毕竟我不懂前端,搞一些更个性化的东西还是比较不会,但能折腾的尽量折腾(可惜github pages不支持https,不然也搞一个https的。哈哈)。当然,为了好玩之余,还是想认认真真的做一件事,记录自己的成长,记录每段时间的收获。
本篇记录下使用coding私有仓库,同步博客源代码,方便多台PC迁移。
动机
我的博客系统搭建在一台我只有使用权的笔记本电脑上,也就是公司的电脑上,如果碰到离职或者电脑出了问题的情况,那么博客系统岂不是要全部挂掉,所以要执行异地灾备策略,首先备份博客源代码,那么迁移到新的PC上,只需要安装好相应的博客环境hexo,node等,就可以接着进行编写博客了。
通常,博客源代码的备份可以考虑两种方式,一是各种云盘,二是使用git进行管理。
使用云盘
推荐百度云。过程略。大家应该都会懂,设置一个自动备份目录。
使用coding私有仓库
使用git仓库管理是一个比较好的方式,可以选择github,coding,gitcafe等,我使用的是coding。因为github的私有仓库好像是要收费,coding的私有仓库是免费的,博客源代码涉及到一些敏感个人信息,推荐放到私有仓库。当然啦,有没有用再说,我的意思是现在这个世界,个人隐私真的有吗?【手动抠鼻】
SSH配置
此处我是不需要的,因为我的博客是搭建在github pages和coding pages上的,之前就已经设置过ssh认证了。如果需要,可以查看coding上的帮助文档配置SSH公匙。
具体步骤
在coding上新建私有仓库,获取SSH仓库路径
删除博客目录下以及主题文件夹下的.git文件夹,不然无法提交更新
1
rm -rf *.git && cd themes/next && rm -rf *.git
新建或编辑.gitignore文件,并保存
1
2
3/*
/*
node_modules/*说明:.gitignore文件是告诉git忽略那些文件,不进行监视
.deploy_git是hexo默认的git同步文件夹,不需要备份,public文件夹下是hexo g命令生成的,不需要备份,node_modules目录是npm install的插件目录,不需要备份。 初始化仓库
1
2git init
git remote add origin <server>server是私有仓库的ssh路径。
提交推送博客源码
1
2
3git add .
git commit -m "first push, hexo blog"
git push -u origin master
至此,博客源代码就算备份好了。下面如果换了PC机后怎么操作呢?
在另外的PC上
首先是安装hexo的环境(略)
正是因为这一步的存在,导致更换环境变得很繁琐,而且每个版本之间还有些许不一样,所以必须探索其他方式,比如docker方式的,比如自动集成式的等,这是后话,再说
新建博客根目录,克隆博客源码
1
2mkdir hexoblog
git clone <server>到此,博客源码就已经克隆下来了,接下来可以编写,修改博文或是博客配置。
编写博客,提交部署
首先需要执行:
1
npm install
然后编写博客,完成后:
1
2
3
4hexo d -g
git add .
git commit -m "another PC ,first commit"
git push origin master回到第一台PC
由于在另外的PC上进行了修改,博客源码的修改,那么如果回到此台电脑进行博客编写,需要执行:
1
git pull
更新博客后,编写博客,保存。然后执行之前的命令:
1
2
3
4hexo d -g
git add .
git commit -m "update"
git push
后记
上面记录了当时我对于我的博客系统进行异地灾备系统的策略。当然目前看来没问题的,也挺方便的。唯一的问题就是上文提到的,换了新环境需要重新搭建hexo环境,比较繁琐。所以后面我又采用docker,容器化我的博客系统,制作成镜像,然后把上面提到的换到另外PC机上的步骤执行。这个后文再说。
Blog:
2016-12-13 于杭州
By 史矛革