freeeyes - TarvisCI 全流程使用实践(一)

栏目: Java · 发布时间: 6年前

内容简介:freeeyes - TarvisCI 全流程使用实践(一)

这是freeeyes在PSS项目应用上的总结,干货满满。他说看了不少资料,内容都过时了,甚至是错误的,只能自己探索了。探索成功的结果就是这几篇系列文章。

PSS项目地址: https://github.com/freeeyes

最近开始着迷于github的持续集成。

以前一直把github当成一个 SVN在使用,版本控制和版本管理。后来,发现有些github上有好玩的徽章,于是自己也想弄一个,没想到一下子就不可自拔,github的徽章(Badges)简直就像一个新世界的大门。而打开这个大门的钥匙,就是TarvisCI 。

最近一个月一直在折腾这个东西,乐此不疲,因为真的太强大了。

今天终于利用tarvisCI,打通了,从编译,到代码静态检查,到程序测试,到测试报告回写github的全流程。中间也遇到了不少坑。在这里记录一下。

首先先说,编译。

tarvisCI实际提供的是一个暂时的 Linux 虚拟机(收费版可以有更多的OS选择),你可以把你的代码放在上面去编译执行。当遇到错误的时候,tarvisCI会终止操作,并返回给你一个错误信息。它可以和你的github提交绑定。

首先,你需要登录tarvisCI的网站。( Test and Deploy Your Code with Confidence

然后,你需要用你的github账号登录。

登录成功后,你可以看到你的所有的github工程。

freeeyes - TarvisCI 全流程使用实践(一)

找到你想自动化测试的工程,选择setting

freeeyes - TarvisCI 全流程使用实践(一)

一般,默认的打开和github绑定的选项。一般保持如下两个选项卡打开就行了。

freeeyes - TarvisCI 全流程使用实践(一)

这样,当你每次自动提交的代码的时候,TarvisCI都会帮你自动化编译。当然,这个是依赖脚本的,这个脚本的名称,一般是.travis.yml,也可以是别的名称。但是一定要以.yml后缀为结尾。请注意,这个文件一定要放在github项目的根目录才行。

好了,上述配置完毕。

下面,就讲讲脚本怎么写吧。一个脚本的范例

sudo: required dist: trusty language: cpp os: – linux
compiler: – gcc
branches: only: – master
env: global: – GH_REF: github.com/freeeyes/PSS.git – secure: “XXXXXXXX”
before_install:
before_script: – make -j 4
after_script: – echo $(pwd)
 

这是一个标准的脚本。

compiler:

只的是编译器,因为我的项目是C的,所以用gcc, 如果是 java 这里可以指定java的编译器。

branches:

分支,这里你可以指定你的编译分支,不一定是master,可以是devloper。

env:

这里设置你的全局环境变量。

这里要特别强调一个非常有用的东西。GH_TOKEN。公钥和私钥。

因为有时候,我们需要对某些数据连接进行验证,这里就牵扯到了用户名和密码。比如,我的tarvisCI回调我的github接口写点东西,这时候,我们不可能吧github密码写在脚本里,这样岂不是非常容易被别人盗走?

实际上,tarvisCI已经为你想到了这一点,你可以在tarvisCI的setting界面下,把你的隐私数据设置在这里面,这里可以包括密码,用户名等敏感信息。这些信息,在脚本里,是以全局变量名的形式提供调用,非常的安全。

比如

curl -x -$(GH_TOKEN)

freeeyes - TarvisCI 全流程使用实践(一)

before_install:

在这里执行你的项目需要在便以前需要的第三方库。或者安装前的准备工作,这里的语法和bash语法完全兼容。

before_script:

在这里执行你的工程编译

after_script:

在这里,可以添加你的工程编译后的收尾工作,比如make test之类。

写完这个脚本,就可以提交了。

当你提交后,马上就会在tarvisCI下获得执行。

freeeyes - TarvisCI 全流程使用实践(一)

点击箭头的部分,就可以看到结果。

而红框的部分,就是编译日志。在这里你可以看到所有的tarvisCI脚本的执行情况。以及当出现了异常,异常位置和语句是什么。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms Sequential & Parallel

Algorithms Sequential & Parallel

Russ Miller、Laurence Boxer / Charles River Media / 2005-08-03 / USD 59.95

With multi-core processors replacing traditional processors and the movement to multiprocessor workstations and servers, parallel computing has moved from a specialty area to the core of computer scie......一起来看看 《Algorithms Sequential & Parallel》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具