hexo同時託管到coding.net與github

2016.03.07更新:
部署到coding時,若是使用pages的話,項目名稱必須與coding的用戶名一致,可是演示並無這個要求。並且目前爲止:演示不能綁定本身的域名,而pages能夠,因此說,爲了之後方便,項目名稱仍是與用戶名一致的好,否則部署pages會出現沒有樣式的bug.html

源自:個人博客git

以前已經把hexo部署到github,可是有時候挺慢的,因而就像跟你們同樣搞到國內的gitcafe上,豈料,上到gitcafe官網才發現它已經被coding.net收購了,並且2016.5.31以後中止服務
github

因而直接去了coding上部署了。結果有一點問題,耽誤了好長時間。。。記錄一下吧。web

coding配置

基本流程跟github同樣,都是先申請賬號。這裏須要說一下的是,申請coding的郵箱儘可能與github使用同一個郵箱,這樣配置ssh就省了事情,不用配置兩個ssh了。hexo

ssh對接

基本同樣,若是以前生成過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了。

新建項目

這一步也很簡單,直接新建一個項目就行了,注意用戶名儘可能與項目名稱保持一致。另外網上有人說得是最好是公有的,因此就搞了一個公有的。其他的都不用動,直接默認就好了。

hexo配置

新建好了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:

以後再終止掉演示,從新部署,再次開啓虛擬機,就最終完成了.

能夠看出第一種方式比較方便,建議使用。

相關文章
相關標籤/搜索