Travis CI + github + hexo 自动化部署
作為一名苦逼(qiongsuan)程序員,想自己搞點什么,又苦于現在什么都收費,于是乎,有了本篇文章,滿足了廣大和我一樣,囊中羞澀卻又按耐不住一顆躁動的心的開發者們
之前用hexo搭建了一個博客,掛載在自己的github上,之所以選擇這兩者,因為他們都是開源的(其實為了免費),也因此,github域名無法在百度等搜索引擎備案,我的博客張吉成的博客主頁也是毫無訪問量可言T_T。
之前每次部署都是最基本的手動編譯,打包,上傳github,搞過一段時間的jenkins(有興趣的朋友可以移步我的博客),由于沒有自己的服務器,每次自己的電腦都要開著作為服務器,實在麻煩。后來無意間發現了Travis,功能強大且配置簡單,還是免費的,簡直完美,唯一的缺點是只支持github項目。
本文記錄了配置Travis的全過程,構建步驟為:
hexo 的安裝使用本文就不做介紹了,可以參考之前的文章hexo常用命令,hexo創建文章&文章縮略圖及banner&MarkDown
注冊配置 Travis
添加 .travis.yml
當我們提交代碼后執行的一系列操作都是在 .travis.yml文件中配置的;
language: node_js #設置語言 node_js: stable #設置相應的版本 cache:apt: truedirectories:- node_modules # 緩存不經常更改的內容 install:# 執行安裝操作... script:# 開始部署... after_script:# 部署后操作... branches:# 配置監聽的分支only:- master #只監測master分支,master是我的博客源碼分支的名稱,可根據自己情況設置 env:# 環境變量配置global:- GH_REF: github.com/***/blog.git #設置GH_REF,注意更改***更詳細的參數配置可以參考官網
如下是我的配置信息:
生成github access Token 并 配置到 Travis
此步驟是為了使travis獲得對github的操作權限,如git push等生成github access Token
配置 access token 到 Travis
打開Travis CI 找到setting頁面,填寫對應的token名及上面步驟生成的token值,如下圖:
細心的同學可能會發現我的 .travis.yml 文件中有下面這樣一段配置
after_script:- echo 開始部署...- cd ./public- git init- git config --global user.name "yourname" #修改name- git config --global user.email "youremail" #修改email- git add ./- git commit -m "update"- git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:master #GH_TOKEN是在Travis中配置token的名稱- echo 部署完成! branches:only:- master #只監測master分支,master是我的博客源碼分支的名稱,可根據自己情況設置 env:global:- GH_REF: github.com/yourname/bolg.git #設置GH_REF,注意更改yourname其中有兩個變量,GH_REF是在env中配置的,而GH_TOKEN則是我們剛剛在設置中添加的github token,此時執行git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:master命令就可以在不用輸入用戶名密碼的情況下進行提交。
測試
提交代碼到github中
查看部署情況
至此,整個部署完成,趕快自己嘗試一下吧!
總結
以上是生活随笔為你收集整理的Travis CI + github + hexo 自动化部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rest framework 序列化
- 下一篇: 成本的含义