Travis CI持續集成GitHub我的博客

什麼是Travis CI

Travis CI 是目前新興的開源持續集成構建項目,它與jenkins,GO的很明顯的特別在於採用yaml格式,同時他是在在線的服務, 不像jenkins須要你本地打架服務器,簡潔清新獨樹一幟。目前大多數的github項目都已經移入到Travis CI的構建隊列中, 聽說Travis CI天天運行超過4000次完整構建。對於作開源項目或者github的使用者,快將你的項目加入Travis CI構建隊列吧!node

目標

使用Hexo搭建託管在Github上的我的博客,每次推送新博客到Github,Travis CI 自動構建並推送到博客項目的master分支上. 因爲GitPages服務規定網頁文件必須在master分支上,因此博客源碼內容在項目的hexo-source分支.git

步驟

1.TravisCI建立帳戶

最好使用Github帳戶直接登陸,登陸後界面以下,勾選我的博客項目便可.github

2.生成並配置Access Token

在GitHub生成Travis CI 的tokennpm

生成以後必定要保存好,由於只會出現一次,丟失了就只能再從新生成了。

以後將生成的token配置到Travis CI中gulp

3.建立.travis.yml配置文件

在項目的hexo-source分支中,項目的根目錄下建立.travis.yml配置文件 :segmentfault

language: node_js
node_js: 6

# S: Build Lifecycle
install:
 - npm install

#before_script:
 # - npm install -g gulp

script:
 - hexo g

after_script:
 - cd ./public
 - git init
 - git config user.name "lujiahao0708"
 - git config user.email "lujiahao0708@gmail.com"
 - git add .
 - git commit -m "Update docs"
 - git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:master

# E: Build LifeCycle
branches:
 only:
 - hexo-source
env:
 global:
 - GH_REF: github.com/lujiahao0708/lujiahao0708.github.io.git
複製代碼

替換git config信息爲你本身的,GH_REF的值更改成你的倉庫地址.服務器

4.發佈新博客

將博客內容推送到hexo-source分支上,就會觸發Travis CI 的自動構建.hexo

Q&A

1.Travis CI編譯錯誤

我參照的教程中.travis.yml配置文件的node_js版本使用`stable`,可是會出現錯誤.
解決方案 : 
    使用低版本的NodeJS版本
    https://segmentfault.com/q/1010000011317783
複製代碼

2.自定義域名沒法跳轉

CNAME文件直接放到了工程的根目錄下,將沒法打包進去
解決方案 : 
    將CNAME文件放到source目錄下
複製代碼

參考教程

blog.csdn.net/woblog/arti… www.jianshu.com/p/5691815b8…ui


歡迎你們關注😁 spa

相關文章
相關標籤/搜索