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