原文連接:blog.sjfkai.com/2017/11/04/…html
轉載請註明出處前端
若是你曾瞭解過Hexo, 相信你已經能夠經過hexo deploy
部署本身的博客到github pages
了。node
可是,這樣咱們僅僅能夠經過當前電腦來發布博客,若是電腦不在身邊,或者不當心把文件刪除了,就會很麻煩。git
本文教你如何實現把本身寫的博客和生成的靜態文件同時託管在github
:github
細心的人能夠發現,經過hexo init
生成的文件中,已經包含了.gitignore
文件。說明hexo
開發者也是但願你們把博客源碼託管到git
上的。npm
咱們能夠經過分支來實現,將源碼放在master
(看我的喜愛)分支、將hexo deploy
的分支指定爲gh-pages
分支。具體實現以下:hexo
若是沒有github repository
首先須要在github
新建一個倉庫,點擊new repository
。分佈式
hexo init
生成一個新的博客項目測試
根據hexo 文檔修改配置,使博客能夠經過git server
預覽。ui
git init
git remote add origin git@github.com:account/blog_repo.git
請將git
地址改成1
中說到的你本身的倉庫地址
git add .
git commit -m "init"
git push origin master -f
將代碼推到github
master
分支
這時候,咱們就把項目託管到了github
,當你換了一臺電腦,或者不當心把文件刪除了的時候,只要從新git clone
就能夠了。
可是這僅僅只是將代碼託管到了github
。當咱們新完成一篇博客,並把代碼push
到github
上的時候,並不會自動deploy
。
Travis CI是在軟件開發領域中的一個在線的,分佈式的持續集成服務,用來構建及測試在GitHub託管的代碼。
使用 github
受權登陸 Travis CI
在 Travis CI
中打開博客項目倉庫的開關。並在配置中打開Build only if .travis.yml is present
選項
在 github
中建立access token
,詳細教程:Creating a personal access token for the command line
在travis
博客倉庫的配置中將剛剛生成的token
添加到Environment Variables
中,name爲REPO_TOKEN
.travis.yml
文件。配置以下language: node_js
node_js: stable
branches:
only:
- master
cache:
directories:
- node_modules
before_install:
- git config --global user.name "sjfkai"
- git config --global user.email "sjfkai@163.com"
- npm install -g hexo-cli
- export HEXO_DEPLOYER_REPO=https://$REPO_TOKEN@github.com/sjfkai/blog.git
install:
- npm i
script:
- hexo clean
- hexo generate
- hexo deploy
複製代碼
_config.yml
的deploy
:# 注意,這裏註釋掉了repo, 由於咱們須要在ci中經過環境變量 HEXO_DEPLOYER_REPO 配置
deploy:
type: git
# repo:
branch: gh-pages
複製代碼
git add .
git commit -m "add travis ci"
git push origin master
這時候你會發現travis ci
顯示該項目處於running
狀態。 等最後變爲 passed
狀態後。github pages
就已經自動部署成功了。
歡迎關注公衆號 「大前端開發者」。給你帶來更多的前端技術與資訊