玩转hexo - 3 - 部署

标签: hexo 原创git

因为部分段落的排版没法实现,请查看原文。github

地址:http://blog.lujingtao.com/2017/11/19/hexo-deploy/npm


什么是部署?

经过上一篇文章 玩转hexo - 2 - 起步 ,咱们已经在本地生成了一个静态博客了,可是别人看不见呀。浏览器

因而就有了部署:经过必定的手段将整个博客部署到某个服务器上,让你们,不,是让全世界都能看到!缓存

服务器选择

为何不选云服务器?

一提到服务器,一些耳熟能详的名字总会浮如今脑海,但对于像我这样的穷B而言,非要在相似阿里云百度云之流贵的一批的服务器里选择一个的话。。。对不起,我选择死亡。bash

其实主要是目前咱们所用的方式搭建出来的是一个静态博客,用不到云服务器所配备的那些高端功能,咱们刚需只有一个:show it!服务器

选择一个靠谱的免费服务器

目前我所知道的,符合咱们刚需的免费服务器有三个:github, gitee, coding。看到这里你也许会恍然大悟,原来在最开始要求安装的git工具是在这里用的。没错,上面这三个家伙其实就是比较著名的git仓库而已,因此git工具就是咱们和它们的交流工具。而他们都有个共同点:具有pages功能,也就是咱们要的展现功能了。因此我姑且将之称为服务器。hexo

下面来比对一下三个服务器的优缺点:工具

  • github: 名气最大,开源项目数最多。但服务器在国外,部署速度和响应速度不稳定
  • gitee: 又名码云,不少企业都在用它。可是部署速度同样很感人,并且对于hexo博客而言,常常会粗现一些不可描述的错误
  • coding: 名气不如前两个,可是服务器在国内,部署和响应速度很是快。也不知道算不算缺点的只有一个:每次打开你的博客都会出现一个3秒的公益广告页面,以后会跳转到你的博客。

从上面三条的篇幅来看,我要安利哪一个已经显而易见了。对我本人而言,coding的这个确实算一个缺点,由于我没法容忍我本身的页面有入侵,有我控制不了的东西。然而,哼哼,我也已经解决了啦啦啦(本人自制的主题中专门写了一个接口,只须要把false改为true。只要你敢用个人主题,我就敢让你这么轻松的摆脱烦恼~),解决方法后面详细讲。阿里云

这并非给coding.net打广告,只是我就不信你看到我这极速的博客不心动?

部署流程

考虑到之后可能使用多台机器来写文章(好比在家和在办公室),通过本人多方考察于实践,已将最佳方式写入了本部署流程中。因此致使本流程可能于其余教程不一样。
若是你能够保证永远不挪窝,永远在一台机器上写文章。请跳过如下流程,自行百度。

建立新仓库

二话不说,先打开coding.net,右上角注册一个帐号,注册过程略。

作以下操做:

添加一个新项目
仓库基本配置
进入分支管理页面
新建分支
新分支配置
修改默认分支
选择刚建立的那个src分支,而后更新
启动pages服务,也就是展现功能

以上就已经完成了仓库的基本配置,之后基本就不用在配置什么了。

经过git完成部署

在终端(命令行 / bash)中,进入到本地的blog目录下,执行下面的命令安装一个hexo的部署工具。

npm install hexo-deployer-git --save

安装完成以后,配置部署路径。打开站点配置文件blog/_config.yml,修改deploy的配置。

# 原代码
deploy:
  type:

# 修改成
deploy:
  - type: git
    repo: https://git.coding.net/codefine/codefine.coding.me.git # 后面为:你的帐号/刚才建立的仓库名.git
    branch: master
  - type: git
    repo: https://git.coding.net/codefine/codefine.coding.me.git # 后面为:你的帐号/刚才建立的仓库名.git
    branch: src
    extend_dirs: /
    ignore_hidden: false
    ignore_pattern:
        public: .

保存文件。仍是在blog/目录下,用hexo命令完成最终部署:

hexo clean
hexo generate
hexo deploy
# 2 3能够简写为 hexo g -d

打开浏览器,输入url仓库名.coding.me,恭喜,能够看到本身略显牛逼哄哄的在线博客了。

多台机器写博客

思路及原理

本机当前情况:

  • 博客全部文件以及配置都在本机上
  • 已经把本机上的全部文件以及配置都部署到了在线仓库

其余机器情况:

  • 没有任何博客的文件以及配置

经过对比,咱们能够看出,多台机器写博客的本质就是:

  • 下载在线仓库中的全部文件以及配置
  • 修改或者添加文章,或者修改配置(包括后面要讲到的主题修改)
  • 部署。也就是更新在线仓库,便于下次换机器时能获得最新的文件及配置

实践

本着严谨的原则,咱们能够在本机上模拟这个过程。那么,咱们来无情的删除刚才辛辛苦苦的建立并修改的本机全部博客文件,也就是删除blog整个目录,这样你满意了吧?

首先用终端进入到一个合适的目录,用于存放我们的博客文件。而后咱们找到仓库的地址,启用复制粘贴大法。

复制仓库地址

# 下面的仓库名和目录名都替换成本身的
git clone https://git.coding.net/codefine/codefine.coding.me.git # 下载刚才复制的仓库地址(可能会让你输入coding.net的用户名和密码)
cd codefine.coding.me # 进入博客目录
npm install # 安装依赖
hexo clean # 清除缓存文件(非必须)
hexo g # hexo generate的简写,生成静态文件
hexo s # hexo server的简写,启动本机服务,预览博客

ok,咱们以前的博客又回来,请开始你的表演!

特别注意:
下载仓库文件和直接在本地从零开始建立博客有所不一样。
下载的文件中会默认携带一个 .git 的隐藏目录,若是直接部署,则会报错
因此咱们要在博客目录中用 rm -rf .git 命令来删除这个文件(或者你要是有本事能在资源管理器中找到手动删除也能够)。
删除以后就能够顺利部署了。
下次换机器以后又能开心的下载最新的文件来写博客了。

最后的最后,别写了一大堆文章,忘记部署了,那下次换机器之后就悲剧了。

hexo g -d # hexo generate & hexo deploy的简写
相关文章
相关标签/搜索