使用coding私有仓库多终端同步编写博客

前头的话

目前为止,从刚开始搭建本地博客,部署至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公匙

具体步骤

  1. 在coding上新建私有仓库,获取SSH仓库路径

  2. 删除博客目录下以及主题文件夹下的.git文件夹,不然无法提交更新

    1
    rm -rf *.git && cd  themes/next && rm -rf  *.git
  3. 新建或编辑.gitignore文件,并保存

    1
    2
    3
    .deploy_git/*
    public/*
    node_modules/*

    说明:.gitignore文件是告诉git忽略那些文件,不进行监视
    .deploy_git是hexo默认的git同步文件夹,不需要备份,public文件夹下是hexo g命令生成的,不需要备份,node_modules目录是npm install 的插件目录,不需要备份。

  4. 初始化仓库

    1
    2
    git init 
    git remote add origin <server>

    server是私有仓库的ssh路径。

  5. 提交推送博客源码

    1
    2
    3
    git add .
    git commit -m "first push, hexo blog"
    git push -u origin master

至此,博客源代码就算备份好了。下面如果换了PC机后怎么操作呢?

在另外的PC上

  1. 首先是安装hexo的环境(略)

    正是因为这一步的存在,导致更换环境变得很繁琐,而且每个版本之间还有些许不一样,所以必须探索其他方式,比如docker方式的,比如自动集成式的等,这是后话,再说

  2. 新建博客根目录,克隆博客源码

    1
    2
    mkdir hexoblog
    git clone <server>

    到此,博客源码就已经克隆下来了,接下来可以编写,修改博文或是博客配置。

  3. 编写博客,提交部署

    首先需要执行:

    1
    npm  install

    然后编写博客,完成后:

    1
    2
    3
    4
    hexo d -g 
    git add .
    git commit -m "another PC ,first commit"
    git push origin master
  4. 回到第一台PC

    由于在另外的PC上进行了修改,博客源码的修改,那么如果回到此台电脑进行博客编写,需要执行:

    1
    git pull

    更新博客后,编写博客,保存。然后执行之前的命令:

    1
    2
    3
    4
    hexo d -g
    git add .
    git commit -m "update"
    git push

后记

上面记录了当时我对于我的博客系统进行异地灾备系统的策略。当然目前看来没问题的,也挺方便的。唯一的问题就是上文提到的,换了新环境需要重新搭建hexo环境,比较繁琐。所以后面我又采用docker,容器化我的博客系统,制作成镜像,然后把上面提到的换到另外PC机上的步骤执行。这个后文再说。

Blog:

2016-12-13 于杭州
By 史矛革

buy me a cola!

欢迎关注我的其它发布渠道