美文网首页Hexohexo
玩转hexo - 3 - 部署

玩转hexo - 3 - 部署

作者: Michael_Lu | 来源:发表于2017-12-10 11:51 被阅读25次

    标签: hexo 原创

    由于部分段落的排版无法实现,请查看原文。

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


    什么是部署?

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

    于是就有了部署:通过一定的手段将整个博客部署到某个服务器上,让大家,不,是让全世界都能看到!

    服务器选择

    为什么不选云服务器?

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

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

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

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

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

    • 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的简写
    

    相关文章

      网友评论

        本文标题:玩转hexo - 3 - 部署

        本文链接:https://www.haomeiwen.com/subject/fhgmixtx.html