經過travis自動部署hexo博客到github pages

原文連接:blog.sjfkai.com/2017/11/04/…html

轉載請註明出處前端

若是你曾瞭解過Hexo, 相信你已經能夠經過hexo deploy部署本身的博客到github pages了。node

可是,這樣咱們僅僅能夠經過當前電腦來發布博客,若是電腦不在身邊,或者不當心把文件刪除了,就會很麻煩。git

本文教你如何實現把本身寫的博客和生成的靜態文件同時託管在githubgithub

將博客源碼託管到github

細心的人能夠發現,經過hexo init生成的文件中,已經包含了.gitignore文件。說明hexo開發者也是但願你們把博客源碼託管到git上的。npm

咱們能夠經過分支來實現,將源碼放在master(看我的喜愛)分支、將hexo deploy的分支指定爲gh-pages分支。具體實現以下:hexo

  1. 若是沒有github repository首先須要在github新建一個倉庫,點擊new repository分佈式

  2. hexo init 生成一個新的博客項目測試

  3. 根據hexo 文檔修改配置,使博客能夠經過git server預覽。ui

  4. git init

  5. git remote add origin git@github.com:account/blog_repo.git 請將git地址改成1中說到的你本身的倉庫地址

  6. git add .

  7. git commit -m "init"

  8. git push origin master -f 將代碼推到github master 分支

這時候,咱們就把項目託管到了github,當你換了一臺電腦,或者不當心把文件刪除了的時候,只要從新git clone就能夠了。

可是這僅僅只是將代碼託管到了github。當咱們新完成一篇博客,並把代碼pushgithub上的時候,並不會自動deploy

經過travis自動部署

Travis CI是在軟件開發領域中的一個在線的,分佈式的持續集成服務,用來構建及測試在GitHub託管的代碼。

  1. 使用 github 受權登陸 Travis CI

  2. Travis CI 中打開博客項目倉庫的開關。並在配置中打開Build only if .travis.yml is present選項

  3. github 中建立access token,詳細教程:Creating a personal access token for the command line

  4. travis博客倉庫的配置中將剛剛生成的token添加到Environment Variables中,name爲REPO_TOKEN

  1. 在項目根目錄新增.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
複製代碼
  1. 修改hexo的配置文件_config.ymldeploy:
# 注意,這裏註釋掉了repo, 由於咱們須要在ci中經過環境變量 HEXO_DEPLOYER_REPO 配置
deploy:
 type: git
  # repo:
 branch: gh-pages
複製代碼
  1. git add .

  2. git commit -m "add travis ci"

  3. git push origin master

這時候你會發現travis ci顯示該項目處於running狀態。 等最後變爲 passed 狀態後。github pages就已經自動部署成功了。

博主源碼

github.com/sjfkai/blog


歡迎關注公衆號 「大前端開發者」。給你帶來更多的前端技術與資訊

相關文章
相關標籤/搜索