Travis CI是如今新兴的开源延续集成构建项目,采纳
yaml
花样,简约清爽标新立异。如今大多数的github项目都已移入到Travis CI的构建行列中。Travis-CI会同步你在GitHub上托管的项目,每当你
commit
push
胜利以后,就能够依据设置文件举行项目的构建宣布。作为一位苦逼(qiongsuan)程序员,想本身搞点什么,又苦于如今什么都收费,于是乎,有了本篇文章,满足了宽大和我一样,囊中羞涩却又按耐不住一颗躁动的心的开辟者们
之前用hexo搭建了一个博客,挂载在本身的github上,之所以挑选这两者,因为他们都是开源的(着实为了免费),也因而,github域名没法在百度等搜索引擎备案,我的博客张吉成的博客主页也是毫无访问量可言T_T。
之前每次布置都是最基本的手动编译,打包,上传github,搞过一段时间的jenkins(有兴致的朋侪能够移步我的博客),因为没有本身的服务器,每次本身的电脑都要开着作为服务器,着实贫苦。厥后无意间发明了Travis,功能强大且设置简朴,照样免费的,几乎圆满,唯一的瑕玷是只支撑github项目。
本文记录了设置Travis的全过程,构建步骤为:
- 当地开辟完成,提交代码到github堆栈;
- github收到提交的更新,关照Travis;
- Travis 收到github的提交关照,举行构建;
hexo 的装置运用本文就不做引见了,能够参考之前的文章hexo常用敕令,hexo建立文章&文章缩略图及banner&MarkDown
注册设置 Travis
- 翻开Travis CI官网,举行注册,这里就不做太多赘述,引荐用github账户注册;
- 绑定你的github账户,此时Travis会同步你的github堆栈,将你要监听的github堆栈名选中,此时Travis会监听该堆栈的push操纵,并实行指定的剧本文件;
增加 .travis.yml
当我们提交代码后实行的一系列操纵都是在 .travis.yml文件中设置的;
language: node_js #设置语言
node_js: stable #设置相应的版本
cache:
apt: true
directories:
- node_modules # 缓存不经常变动的内容
install:
# 实行装置操纵
...
script:
# 最先布置
...
after_script:
# 布置后操纵
...
branches:
# 设置监听的分支
only:
- master #只监测master分支,master是我的博客源码分支的名称,可根据本身情况设置
env:
# 环境变量设置
global:
- GH_REF: github.com/***/blog.git #设置GH_REF,注重变动***
更细致的参数设置能够参考官网
以下是我的设置信息:
language: node_js #设置语言
node_js: stable #设置相应的版本
cache:
apt: true
directories:
- node_modules # 缓存不经常变动的内容
before_install:
- echo 装置hexo相干环境...
install:
# - npm install -g cnpm --registry=https://registry.npm.taobao.org
- cnpm install
before_script:
- echo 正在清空缓存静态文件...
- hexo clean # 消灭缓存静态文件
- echo 正在天生静态文件...
- hexo g # 天生静态文件
- cd ./public
- ls -l
script:
- echo 最先布置...
- 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 # 只监测master分支,master是我的博客源码分支的名称,可根据本身情况设置
env:
global:
- GH_REF: github.com/<prourl> # 设置 github 项目堆栈地点
- GH_username: <yourname> # 设置 github 用户名
- GH_useremail: <youremail> # 设置 github 绑定邮箱地点
天生github access Token 并 设置到 Travis
此步骤是为了使travis取得对github的操纵权限,如
git push
等
天生github access Token
- 如上图所示,上岸github并翻开该页面,并新建token
- 如上图举行对应操纵,天生token,注重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中
检察布置状况
至此,全部布置完成,连忙本身尝试一下吧!