2016.03.07更新:
部署到coding時,若是使用pages的話,項目名稱必須與coding的用戶名一致,可是演示並無這個要求。並且目前爲止:演示不能綁定本身的域名,而pages能夠,因此說,爲了之後方便,項目名稱仍是與用戶名一致的好,否則部署pages會出現沒有樣式的bug.html
源自:個人博客git
以前已經把hexo
部署到github
,可是有時候挺慢的,因而就像跟你們同樣搞到國內的gitcafe
上,豈料,上到gitcafe
官網才發現它已經被coding.net
收購了,並且2016.5.31以後中止服務。
github
因而直接去了coding
上部署了。結果有一點問題,耽誤了好長時間。。。記錄一下吧。web
基本流程跟github
同樣,都是先申請賬號。這裏須要說一下的是,申請coding
的郵箱儘可能與github
使用同一個郵箱,這樣配置ssh
就省了事情,不用配置兩個ssh了。hexo
基本同樣,若是以前生成過ssh
的話,就能夠直接使用,通常存放在~/.ssh/id_rsa.pub
。若是沒有的話,那就下面幾步就能夠了ssh
$ ssh-keygen -t rsa -b 4096 -C "你的郵箱"
後面就直接默認,按回車就好。
而後就是:
<!--more-->spa
$ ssh-add
而後在coding
的我的頁面,以下
.net
注意這是在我的帳戶下添加了
ssh
,之後新建了項目,項目也有個ssh
,可是那個是隻讀的,不要加到那裏去。只須要在我的帳戶下,加入了便可。code
加入了以後,執行驗證:htm
ssh -T git@git.coding.net
提示以下便可:
Hello shomyliu You've connected to Coding.net by SSH successfully!
若是失敗了,則檢查一下是否是在coding
那裏對了,基本流程跟github
同樣。這一步ok了。
這一步也很簡單,直接新建一個項目就行了,注意用戶名儘可能與項目名稱保持一致。另外網上有人說得是最好是公有的,因此就搞了一個公有的。其他的都不用動,直接默認就好了。
新建好了coding
的項目以後,修改一下站點的配置文件,_config.yml
以下:
deploy: type: git repository: github: git@github.com:ShomyLiu/ShomyLiu.github.io.git coding: git@git.coding.net:shomyliu/shomyliu.git branch: master
就是在原來的基礎再加一個就行了。只須要把repo的地址改爲本身對應項目的就好。
還有一步,就是在source/
須要建立一個空白文件,至於緣由,是由於 coding.net
須要這個文件來做爲以靜態文件部署的標誌。就是說看到這個Staticfile
就知道按照靜態文件來發布。
cd source/ touch Staticfile #名字必須是Staticfile
如今能夠deploy
了。
$ hexo clean $ hexo g $ hexo d
會看到有兩個發佈。發佈完成以後,還須要託管coding.net
上。
而後下面開始部署:有兩種方式
Pages
部署這種方式的話,就跟Github Pages
同樣。只須要在以下:
由於前面配置的分支是master
,所以開啓以後,也須要是master
。而後看起以後就可訪問了,下面兩個連接均可以訪問
http://shomyliu.coding.me/shomyliu http://shomyliu.coding.me/
演示
這種方式相似與使用coding.net
的主機了。可是貌似每次部署更新不及時,能夠嘗試。
如圖,打開本身的新建的項目,在代碼區域,能夠看到已經push
上去了。如今打開演示一欄
:
直接 開始檢測
, 通常狀況,若是按照上面的步驟來的話,尤爲是建立了Staticfile
這個空文件的話,這裏是能夠正常開啓的。若是不行的話,就強制開始,而後在進去以下:
若是是正常開啓的話, 系統會自動檢測運行環境,這時候,就沒有必要修改高級選項了,若是是強制開啓的話,那就須要修改了,指定運行環境是html
. 而後運行內存 能夠改小一點,畢竟靜態博客也就佔用幾M內存。
以後在一鍵部署,稍等一會(時間有長有短),部署成功以下顯示:
這時候,訪問你的網頁就能夠了,與github.io
如出一轍。
此時還有一步,就是爲了能夠每次更新均可以馬上部署到線上,這裏就須要配置一下webhook
,這裏參考了這篇
首先在項目設置裏面找到webhook
:而後新建一個webhook,域名後面記得加上/_
如圖, tooken能夠隨意寫。以後添加了以後,回到演示頁面,找到環境變量:以下:添加便可webhook:
以後再終止掉演示,從新部署,再次開啓虛擬機,就最終完成了.
能夠看出第一種方式比較方便,建議使用。