内容简介: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工程。
找到你想自动化测试的工程,选择setting
一般,默认的打开和github绑定的选项。一般保持如下两个选项卡打开就行了。
这样,当你每次自动提交的代码的时候,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)
before_install:
在这里执行你的项目需要在便以前需要的第三方库。或者安装前的准备工作,这里的语法和bash语法完全兼容。
before_script:
在这里执行你的工程编译
after_script:
在这里,可以添加你的工程编译后的收尾工作,比如make test之类。
写完这个脚本,就可以提交了。
当你提交后,马上就会在tarvisCI下获得执行。
点击箭头的部分,就可以看到结果。
而红框的部分,就是编译日志。在这里你可以看到所有的tarvisCI脚本的执行情况。以及当出现了异常,异常位置和语句是什么。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Webpack原理与实践(一):打包流程
- 如何使用 CODING 实践 DevOps 全流程
- HBase 读流程解析与优化的最佳实践
- 有赞 HBase 技术实践:读流程解析与优化
- 行为驱动开发在携程机票前端研发流程中的实践
- 网易轻舟的微服务化实践(二):微服务测试及镜像化提测全流程实践
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Structures and Algorithms
Alfred V. Aho、Jeffrey D. Ullman、John E. Hopcroft / Addison Wesley / 1983-1-11 / USD 74.20
The authors' treatment of data structures in Data Structures and Algorithms is unified by an informal notion of "abstract data types," allowing readers to compare different implementations of the same......一起来看看 《Data Structures and Algorithms》 这本书的介绍吧!