日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Travis CI + github + hexo 自动化部署

發(fā)布時(shí)間:2024/1/17 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Travis CI + github + hexo 自动化部署 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Travis CI是目前新興的開(kāi)源持續(xù)集成構(gòu)建項(xiàng)目,采用yaml格式,簡(jiǎn)潔清新獨(dú)樹(shù)一幟。目前大多數(shù)的github項(xiàng)目都已經(jīng)移入到Travis CI的構(gòu)建隊(duì)列中。Travis-CI會(huì)同步你在GitHub上托管的項(xiàng)目,每當(dāng)你commit push成功之后,就可以根據(jù)配置文件進(jìn)行項(xiàng)目的構(gòu)建發(fā)布。

作為一名苦逼(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)建步驟為:

  • 本地開(kāi)發(fā)完成,提交代碼到github倉(cāng)庫(kù);
  • github收到提交的更新,通知Travis;
  • Travis 收到github的提交通知,進(jìn)行構(gòu)建;
  • hexo 的安裝使用本文就不做介紹了,可以參考之前的文章hexo常用命令,hexo創(chuàng)建文章&文章縮略圖及banner&MarkDown

    注冊(cè)配置 Travis

  • 打開(kāi)Travis CI官網(wǎng),進(jìn)行注冊(cè),這里就不做太多贅述,推薦用github賬戶注冊(cè);
  • 綁定你的github賬戶,此時(shí)Travis會(huì)同步你的github倉(cāng)庫(kù),將你要監(jiān)聽(tīng)的github倉(cāng)庫(kù)名選中,此時(shí)Travis會(huì)監(jiān)聽(tīng)該倉(cāng)庫(kù)的push操作,并執(zhí)行指定的腳本文件;
  • 添加 .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)
    如下是我的配置信息:

    language: node_js #設(shè)置語(yǔ)言node_js: stable #設(shè)置相應(yīng)的版本cache:apt: truedirectories:- node_modules # 緩存不經(jīng)常更改的內(nèi)容before_install:- echo 安裝hexo相關(guān)環(huán)境...install:# - npm install -g cnpm --registry=https://registry.npm.taobao.org- cnpm installbefore_script:- echo 正在清空緩存靜態(tài)文件...- hexo clean # 清除緩存靜態(tài)文件- echo 正在生成靜態(tài)文件...- hexo g # 生成靜態(tài)文件- cd ./public- ls -lscript:- echo 開(kāi)始部署...- git init- git config --global user.name "${GH_username}" # 修改name- git config --global user.email "${GH_useremail}" # 修改email- git add ./- git commit -m "update"- git push --force --quiet "https://${GH_TOKEN}@${GH_REF}" master:master # GH_TOKEN是在Travis中配置token的名稱after_script:- echo 部署完成!branches:only:- master # 只監(jiān)測(cè)master分支,master是我的博客源碼分支的名稱,可根據(jù)自己情況設(shè)置 env:global:- GH_REF: github.com/<prourl> # 設(shè)置 github 項(xiàng)目倉(cāng)庫(kù)地址- GH_username: <yourname> # 設(shè)置 github 用戶名 - GH_useremail: <youremail> # 設(shè)置 github 綁定郵箱地址

    生成github access Token 并 配置到 Travis

    此步驟是為了使travis獲得對(duì)github的操作權(quán)限,如git push等

    生成github access Token

  • 如上圖所示,登陸github并打開(kāi)該頁(yè)面,并新建token
  • 如上圖進(jìn)行對(duì)應(yīng)操作,生成token,注意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)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。