Travis CI自動部署Hexo部落格
為了方便部落格管理,我是將部落格原始碼放在resource
分支,最終生成部署的頁面檔案放在master
分支,每次更新部落格都需要先提交部落格檔案,然後手動部署到GiHub Pages,次數一多就顯得麻煩,而且還容易出錯。那麼有沒有一種方法讓這個過程自動化,在提交完部落格檔案後自動幫我們編譯部署檔案到GitHub上呢?很幸運有現成的工具可供使用,使用Travis-CI就可以將整個過程自動化,下面借用一張圖片來說明Travis_CI的作用
準備工作
-
一個Hexo原始碼倉庫,原始碼放在
resource
分支,編譯後的檔案放在master分支,類似於下面這樣:
-
獲取GitHub_Token
登入GitHub,在Settings / Developer settings / Personal access tokens
-
進入
Travis CI官網,設定許可權,2021年6月15日Travis CI地址更改為 travis-ci.com
Travis可以使用GitHub賬號進行登入,進入設定(Settings),開啟需要自動編譯的公開倉庫
然後點選右側的Settings按鈕,找到環境變數(Environment Variables),左側填一個名字,右側填寫剛剛獲取到的Github_Token,Display value in build log
按鈕不要開啟,開啟後其他人就可以在日誌檔案中看到你的Github_Token
告訴Travis怎樣編譯我們的專案
在Hexo站點目錄,也就是.config.yml
檔案同級目錄,建立一個名為.travis.yml
的檔案
language: node_js # 語言 node_js: stable # node.js版本 cache: # 快取,加快下次編譯速度 directories: - node_modules branches: # 監控 resource分支,此分支發生變化就啟動一次新的構建 only: - resource before_install: # 和自己電腦上安裝的hexo-cli一樣,也需要安裝依賴環境 - npm install -g hexo-cli install: - npm install - npm install hexo-deployer-git --save script: # 編譯Hexo - hexo clean - hexo generate after_script: # 編譯完成後推送到GitHub上 - git config user.name "wrxiang" - git config user.email "[email protected]" #將.config.yml中的文字`Travis`替換為環境變數中的{Travis}代表的那串密碼 - sed -i "s/Travis/${Travis}/g" ./_config.yml - hexo deploy
我們還需要修改_config.yml檔案的deploy節點
#修改前
deploy:
- type: git
repo: [email protected]:wangruix/wangruix.github.io.git
branch: master
#修改後
deploy:
- type: git
# 下方的gh_token會被.travis.yml中sed命令替換
repo: https://[email protected]/wangruix/wangruix.github.io.git
branch: master
最後將新建立的.travis.yml
檔案提交到原始碼路徑
我們就可以新增一篇部落格,完成後將部落格提交到原始碼分支,然後就可以到Travis檢視構建情況,Job log中可以檢視詳細的構建日誌
Travis構建完成後會將生成的檔案推送到Github上,這樣我們只需要提交部落格的原始檔,然後Travis幫我們完成構建部署過程,部落格釋出更新更加方便了。
參考文章
Travis CI使用經驗
用TravisCI持續整合自動部署Hexo部落格的個人實踐
本文來自部落格園,作者:風煙景,轉載請註明原文連結:https://www.cnblogs.com/wrxiang/p/15145426.html