玩轉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的簡寫
相關文章
相關標籤/搜索