hexo干貨系列:(四)將hexo博客同時托管到github和coding

前言


之前我們把hexo托管在github易遣,但是畢竟github是國外的甚脉,訪問速度上還是有點慢台谊,所以想也部署一套在國內(nèi)的托管平臺,之前查資料聽說gitcafe,但是聽說gitcafe已經(jīng)被coding收購了蜕乡,所以就決定部署到coding。查詢了多方資料梗夸,終于鼓搗出了本地一次部署异希,同時更新到github以及coding。


正文


_config.yml配置


想要同時部署到2個平臺绒瘦,就要修改博客根目錄下面的_config.yml文件中的deploy如下
根據(jù)Hexo官方文檔需要修改成下面的形式

deploy:
  type: git
  message: [message]
  repo:
    github: <repository url>,[branch]
    gitcafe: <repository url>,[branch] 

所以我的是這樣:

deploy:
  type: git
  repo:
      github: git@github.com:tengj/tengj.github.io.git,master
      coding: git@git.coding.net:tengj/hexoblob.git,master

這里要注意一下:上面這段代碼左邊的-號只能有2個(如下圖紅圈)称簿,如果超過2個一般就是會被認(rèn)定為填寫格式有問題。我是在repo下面兩行用tab鍵縮進(jìn)就行惰帽,之前沒注意這里一直報錯憨降。


我這邊提交采用的SSH密鑰,這個方法有個好處该酗,提交的時候不用輸入用戶名和密碼授药。如果你習(xí)慣用http的方式,只要將地址改成相應(yīng)的http地址即可呜魄。

coding上創(chuàng)建一個新項目


這里只介紹coding上面如何創(chuàng)建項目悔叽,以及把本地hexo部署到coding上面,還不懂如何創(chuàng)建hexo的請看我之前的系類文章爵嗅。首先我們創(chuàng)建一個項目娇澎,創(chuàng)建后進(jìn)入項目的代碼模塊,獲取到這個項目的ssh地址睹晒,我的是https://git.coding.net/tengj/hexoblob.git

同步本地hexo到coding上


把獲取到了ssh配置在上面的_config.yml文件中的deploy下趟庄,如果是第一次使用coding的話,需要設(shè)置SSH公鑰伪很,生成的方法可以參考coding幫助中心
如果你看過我第一篇文章戚啥,里面也有介紹如果如果生成,我這里直接使用之前部署github時已經(jīng)生成的公鑰锉试。

本地打開 id_rsa.pub 文件猫十,復(fù)制其中全部內(nèi)容,填寫到SSH_RSA公鑰key下的一欄呆盖,公鑰名稱可以隨意起名字拖云。完成后點擊“添加”,然后輸入密碼或動態(tài)碼即可添加完成絮短。

添加后江兢,在git bash命令輸入:

ssh -T git@git.coding.net

如果得到下面提示就表示公鑰添加成功了:

Coding.net Tips : [Hello ! You've conected to Coding.net by SSH successfully! ]

最后使用部署命令就能把博客同步到coding上面:

hexo deploy -g

pages服務(wù)方式部署


部署博客方式有兩種,第一種就是pages服務(wù)的方式丁频,也推薦這種方式,因為可以綁定域名,而第二種演示的方式必須升級會員才能綁定自定義域名席里。pages方式也很簡單
就是在source/需要創(chuàng)建一個空白文件叔磷,至于原因,是因為 coding.net需要這個文件來作為以靜態(tài)文件部署的標(biāo)志奖磁。就是說看到這個Staticfile就知道按照靜態(tài)文件來發(fā)布改基。

cd source/
touch Staticfile  #名字必須是Staticfile

分支選擇master,因為前面配置的分支是master,因此開啟之后咖为,也需要是master秕狰。然后看起之后就可訪問了。
注意

如果你的項目名稱跟你coding的用戶名一樣躁染,比如我的用戶是叫tengj,博客項目名也叫tengj
那直接訪問 tengj.coding.me就能訪問博客鸣哀,否則就要帶上項目名:tengj.coding.me/項目名 才能訪問
推薦項目名跟用戶名一樣,這樣就可以省略項目名了

演示方式部署


當(dāng)你把你的靜態(tài)網(wǎng)站上傳到Coding之后吞彤,就可以著手部署演示了我衬,Coding的演示平臺支持靜態(tài)網(wǎng)頁,所以其實非常簡單饰恕。在開啟演示模式之前挠羔,會提醒你沒有檢測到環(huán)境,你直接強制開啟就可以了埋嵌。


  • 部署版本我沒有填破加,默認(rèn)是master
  • 運行環(huán)境一定要選擇HTML
  • 自動部署要勾上谱轨,為后面配置自動部署做準(zhǔn)備
  • 訪問域名根據(jù)你自己喜愛填寫武契,填好要點急后面的確認(rèn)按鈕
  • 應(yīng)用內(nèi)存也根據(jù)自己喜好填寫,填好要點急后面的確認(rèn)按鈕


以上都配置好了押框,就可以按下一鍵部署的按鈕了俐银,部署成功后輸入地址:tengj.coding.io就能訪問

設(shè)置自動部署


如果你是演示方式的話尿背,就需要設(shè)置自動部署,很奇怪捶惜,我勾選上了自動部署田藐,但是同步新文章的時候,tengj.coding.io訪問沒有自動更新最新的吱七。查了資料發(fā)現(xiàn)還要配置WebHook才行

  • 找到項目設(shè)置那邊的WebHook,然后點擊新建 Hook
  • 第一個輸入框中是填你的博客域名汽久,然后在后面加上 /_
  • 第二個輸入框是輸入一個 token ,我們直接填寫 {{TOKEN}} 就可以了,TOKEN兩邊的大括號見的空格記得去掉
  • 回到演示里踊餐,在左邊的欄目中找到環(huán)境變量,變量名填寫為 WEBHOOK_TOKEN 景醇,值為 {{TOKEN}} ,接著重新啟動應(yīng)用就 ok 了吝岭!


    最后一步我們要測試一下是否 push 代碼的時候就會自動部署三痰。我們回到命令行創(chuàng)建一個新的文章(可以什么都不寫)吧寺,然后生成靜態(tài)頁面 push 到倉庫去:
hexo n codingPage
hexo deploy -g

我們回到瀏覽器在輸入博客的地址,如果那篇新寫好的文章出現(xiàn)在首頁了散劫,說明我們自動部署成功了稚机。以后再也不用自己去手動部署一次了!

個人域名綁定


我在萬網(wǎng)上面購買了tengj.top域名获搏,第一年只要4元哈哈赖条,個人用的就不用com這種超級貴的域名了。現(xiàn)在要實現(xiàn)國內(nèi)的走coding常熙,海外的走github纬乍,只要配置2個CNAME就行。域名解析如下:


過幾分鐘后檢測tengj.top看到的解析是正確的裸卫,國內(nèi)解析到Coding仿贬,國外解析到Github,如圖:

我現(xiàn)在訪問tengj.top是跳轉(zhuǎn)到coding上面
直接訪問tengj.github.io地址會跳轉(zhuǎn)到tengj.top,但是內(nèi)容也是coding上面
直接訪問tengj.coding.me發(fā)現(xiàn)不會跳轉(zhuǎn)到tengj.top這個域名彼城,原因我發(fā)帖問過別人诅蝶,答案如下:

github只能綁定一個域名,所以訪問tengj.github.io時募壕,github的服務(wù)器知道要往tengj.top跳轉(zhuǎn)调炬。coding可以綁定多個域名,當(dāng)綁定多個域名時舱馅,訪問tengj.coding.me,coding的服務(wù)器不知道要往哪里跳轉(zhuǎn)缰泡,所以干脆就不跳轉(zhuǎn)了。但是當(dāng)綁定一個時代嗤,為什么不跳轉(zhuǎn)棘钞,可能是coding覺得麻煩,就不跳轉(zhuǎn)了干毅。這些都是coding定的宜猜,我們沒辦法改變。
你先想一個問題:那么多人都要在github上搞博客硝逢,還要自定義域名姨拥。github哪來這么多ip給你們用?所以辦法就是僅僅提供一個ip渠鸽,這樣必然導(dǎo)致這個服務(wù)器上發(fā)著所有人的博客文件叫乌,那么如何區(qū)分特定的域名應(yīng)該展示誰的博客呢?答案就是在倉庫里面新建一個CNAME文件徽缚,里面寫上你博客想用的域名憨奸,github的服務(wù)器會根據(jù)當(dāng)前http請求的Host頭部(即域名),查找對應(yīng)的包含相同的CNAME內(nèi)容的目錄凿试,從而顯示其中的頁面排宰。這就是為什么要在倉庫里面創(chuàng)建一個CNAME原因似芝。
不過,事情還沒完额各,一個ip的問題是世界各地不同地點的訪問速度不同国觉,有些地方可能很慢吧恃,所以需要一組ip來分擔(dān)一下虾啦。最早github好像只有2個ip,后來ip變多了痕寓。再后來傲醉,github支持域名解析的時候,通過alias來呻率。比如在域名商那邊設(shè)置成www.tengj.com ---> tengj.github.io硬毕,由于github無法控制你如何配置域名和ip的關(guān)系,但他可以控制tengj.github.io的最終ip解析礼仗,所以github推薦大家使用alias解析吐咳,可以為博主提供就近ip訪問。這就是你在域名商那邊配置CNAME或者alias的原理元践。這里的CNAME跟上面提到的CNAME作用不同韭脊,不是一個概念,不要混淆单旁。

參考


使用Cover主題沪羔,在Coding上搭建Hexo博客
將hexo博客同時托管到github和gitcafe
個人域名如何同時綁定 github 和 coding 上的博客

總結(jié)


到此為止,終于可以實現(xiàn)部署一次象浑,github和coding兩個同步都搞定了蔫饰。訪問速度也是唰唰唰的快,忙乎了大半個月終于搭好了獨立博客愉豺。希望對還在搭建hexo獨立博客的小伙伴有幫助篓吁。下一篇研究下如何讓百度能收錄我的博客。


如果對你有所幫助(●ˇ?ˇ●)點個喜歡或者關(guān)注下吧,沒準(zhǔn)還能打賞下(/▽\=)蚪拦。你的鼓勵將是博主繼續(xù)寫下去的動力杖剪,生活不易,且行且珍惜外盯。遇到好文章就先點個贊摘盆,回頭再慢慢看。我都這么干的嘿

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末饱苟,一起剝皮案震驚了整個濱河市孩擂,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌箱熬,老刑警劉巖类垦,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狈邑,死亡現(xiàn)場離奇詭異,居然都是意外死亡蚤认,警方通過查閱死者的電腦和手機米苹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砰琢,“玉大人蘸嘶,你說我怎么就攤上這事∨闫” “怎么了训唱?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長挚冤。 經(jīng)常有香客問我况增,道長,這世上最難降的妖魔是什么训挡? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任澳骤,我火速辦了婚禮,結(jié)果婚禮上澜薄,老公的妹妹穿的比我還像新娘为肮。我一直安慰自己,他們只是感情好表悬,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布弥锄。 她就那樣靜靜地躺著,像睡著了一般蟆沫。 火紅的嫁衣襯著肌膚如雪籽暇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天饭庞,我揣著相機與錄音戒悠,去河邊找鬼。 笑死舟山,一個胖子當(dāng)著我的面吹牛绸狐,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播累盗,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼寒矿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了若债?” 一聲冷哼從身側(cè)響起符相,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后啊终,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體镜豹,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年蓝牲,在試婚紗的時候發(fā)現(xiàn)自己被綠了趟脂。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡例衍,死狀恐怖昔期,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情肄渗,我是刑警寧澤镇眷,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布咬最,位于F島的核電站翎嫡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏永乌。R本人自食惡果不足惜惑申,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翅雏。 院中可真熱鬧圈驼,春花似錦、人聲如沸望几。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽橄抹。三九已至靴迫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間楼誓,已是汗流浹背玉锌。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疟羹,地道東北人主守。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像榄融,于是被迫代替她去往敵國和親参淫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容