travis CI

travis CI 是一个托管的分布式持续集成服务,用来构建并测试托管在Github上的软件项目,其中 CI 就是持续集成(continuous integration)的缩写。持续集成是在小代码变更中频繁合并的实践,而不是在开发周期结束时在大变更中合并。

为什么要使用 travis ?

它可以让你明白自己的项目在一个“空白环境”中,是否能正确运行;也可以让你知道,用不同的 Node.js 版本运行的话,有没有兼容性问题。

travis 默认带有的那些依赖,都是每个用户的机器上都会有,所以一旦你的项目在 travis 上面能够跑通,那么就不用担心别的用户安装不上。

作用:

  • Travis CI通过自动构建和测试代码结果来支持开发过程,为代码变动提供即时反馈;
  • CI,每次 PR 的代码,都要通过代码格式检查和单元测试;
  • 将构建和测试,在一次运行中执行完成。

使用条件:

travis CI 只支持 Github,不支持其他代码托管服务。这意味着,你必须满足以下条件,才能使用 Travis CI:

  • 拥有 GitHub 帐号
  • 帐号下面有一个项目
  • 项目里面有可运行的代码
  • 项目还包含构建或测试脚本

travis 要求项目的根目录下面,必须有一个.travis.yml文件。这是配置文件,指定了 Travis 的行为。该文件必须保存在 Github 仓库里面,一旦代码仓库有新的 Commit,Travis 就会去找这个文件,执行里面的命令。

travis与github项目关联:

(1)在github上创建token:

登录github后设置token(用在travis环境变量设置中):settings — developer settings — personal access tokens (勾选repo)

注意:务必要复制

(2)进入 Travis-ci.com 并用github账户来登录;

(3)接受 Travis CI 的授权,就会被重定向到github;

(4)点击激活按钮,选择你想使用Travis CI 的github项目;

(5)设置环境变量:自定义名称、github_token

变量名:token(用在.travis.yml配置中)

(6)给你的项目添加一个 .travis.yml 文件,提交这个文件到你的github仓库。

.travis.yml的配置:

  • language——运行环境
  • node版本——用不同的 Node.js 版本运行的话,注意兼容性问题
  • install命令——用来指定安装脚本(默认值:npm install )
  • cache——缓存
  • script——用来指定构建或测试脚本(默认值:npm test )
  • after_script——上传测试报告至coveralls
  • windows与Mac的区别:os——如果有需要在macOS上运行的测试,或者项目使用Swift或Objective-C,使用macOS环境:     os: osx
language: node_js #指定运行环境
node_js:# - '12'# - '10'- '8'# - '6'# - '4'install:- npm install --save-dev jest- npm install coveralls --save-devcache:directories: node_modules #缓存node_modules文件script:- npm run coverallsafter_script:- cd ./public- git init- git config user.name "WangJuYan"- git config user.email "1411460132@qq.com"- git add .- git commit -m "update"- git push --force --quiet "https://${github_token}@${GH_REF}"  - cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js -repotoken IpUW3kFRlfOij9cYPGF82SmJFz1q9Bbgxbranches:only:- master #触发持续集成的分支env:global:- GH_REF: github.com/WangJuYan/wjyTest.git    #仓库地址os: osx

运行状态:

Travis 每次运行,可能会返回四种状态:

  • passed:运行成功,所有步骤的退出码都是0
  • canceled:用户取消执行
  • errored:有非零退出码,运行会立即停止
  • failed :script有非零状态码 ,会继续运行

travis运行结果:

README.md文件中设置徽章

  [![Build Status][travis-image]][travis-url]

[travis-url]: https://www.travis-ci.org/WangJuYan/wjyTest

[travis-image]: https://www.travis-ci.org/WangJuYan/wjyTest.svg?branch=master

coveralls

coveralls是一个检测代码单元测试覆盖率的工具,能方便的集成github ,可以从Travis CI跑的结果统计出单元测试对代码的覆盖率。

与GitHub绑定设置:

(1)进入 coveralls 并用github账户来登录;

(2)接受 coveralls 的授权,就会被重定向到github;

(3)点击激活按钮,选择你想使用coveralls测试的github项目;

(4)获取 repotoken,用在.travis.yml配置中。

基本应用:

运行测试:

jest --coverage

获取token,与travis关联

after_script:

- cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js -repotoken 7cRO6F7KccTCqDdDtXctp4aXnqveU8OqU

README.md设置徽章——覆盖率(coverage)

[![Coverage Status][coveralls-image]][coveralls-url]

[coveralls-url]: https://coveralls.io/github/WangJuYan/wjyTest?branch=master

[coveralls-image]: https://coveralls.io/repos/github/WangJuYan/wjyTest/badge.svg?branch=master

travis CI + coveralls相关推荐

  1. Travis CI : 最小的分布式系统(三)

    日志的作用有两个:当构建日志的数据块通过消息队列进来时,更新数据库对应行,然后推送它到Pusher用于实时的用户界面更新. 日志块以流的形式在同一个时间从不同的进程中进来,然后被一个进程处理.这个进程 ...

  2. Travis CI : 最小的分布式系统(二)

    大约1年之前,我们发现当时的架构有些不合理了.尤其是Hub,它上面承担了太多的任务.Hub要接收新的处理请求,处理并推动构建日志,它要同步用户信息到Github,它要通知用户构建是否成功.它跟一大群外 ...

  3. Travis CI : 最小的分布式系统(一)

    (本文翻译自http://www.paperplanes.de/2013/10/18/the-smallest-distributed-system.html,由@金斌_jinbin 翻译) Trav ...

  4. travis-ci自动部署_如何使用Travis CI部署(几乎)零恐惧的Cloud Foundry应用

    travis-ci自动部署 by Robin Bobbitt 罗宾·波比(Robin Bobbitt) 如何使用Travis CI部署(几乎)零恐惧的Cloud Foundry应用 (How to d ...

  5. travis ci_如何使用Travis CI和GitHub进行Web开发工作流程

    travis ci by Vijayabharathi Balasubramanian 通过Vijayabharathi Balasubramanian 如何使用Travis CI和GitHub进行W ...

  6. Flutter GitHub Travis CI 搭建

    通过 Travis CI 连接 GitHub 上的 Flutter 项目, 实现持续集成: 代码扫描, 测试, 打包发布 release. Install Android SDK os: linuxl ...

  7. 利用Travis CI 让你的github项目持续构建(Node.js为例)

    Travis CI 是目前新兴的开源持续集成构建项目,它与jenkins,GO的很明显的特别在于采用yaml格式,简洁清新独树一帜.目前大多数的github项目都已经移入到Travis CI的构建队列 ...

  8. Travis CI mysql_DevOps工具介绍连载(34)——Travis CI

    原标题:DevOps工具介绍连载(34)--Travis CI Travis CI 持续集成 Travis CI 是在线托管的持续集成服务,绑定Github项目,抓取新的代码自动进行测试构建,甚至自动 ...

  9. Travis CI + github + hexo 自动化部署

    Travis CI是目前新兴的开源持续集成构建项目,采用yaml格式,简洁清新独树一帜.目前大多数的github项目都已经移入到Travis CI的构建队列中.Travis-CI会同步你在GitHub ...

最新文章

  1. 我所理解的UTF-8和GBK
  2. Android常见面试题
  3. 【技术短文】基于深度负相关学习的人群计数方法
  4. [js高手之路]深入浅出webpack教程系列9-打包图片(file-loader)用法
  5. ORACLE TEXT LEXER PREFERENCE(一)
  6. 100. Same Tree 相同的树
  7. 人生苦短,Python之父要解开这个困惑
  8. java调用app接口代码_java servlet手机app访问接口(二)短信验证
  9. 存储如何让文件小一点_如何使用Redis接管文件存储
  10. IEEE ISO/IEC简介
  11. matlab插值函数 外插,Matlab数据插值-内插、外插
  12. fxp连接失败_flashfxp连接提示连接失败 (10061: 连接被拒)与列表错误
  13. JS特效一:图片轮播图(JS必须掌握的特效)
  14. 高端化自欺欺人,国产手机又一块遮羞布被扯下,事实是被苹果碾压
  15. linux code lite编译c,CentOS 6.2编译安装CodeLite 5.3
  16. pointer-events: none;属性。pointer-events: none;看得见摸不着,点击穿透。
  17. 【下载】DE2、DE2-70、DE1光盘资料
  18. SpringCloud(3)--服务熔断降级
  19. 教你如何学模电——三极管篇
  20. 工作迷茫,想换工作了!

热门文章

  1. VC实现的简易防火墙
  2. 2012年2月4日彙報Axure RP Pro 6.5 Beta正體中文加強測試版進展
  3. 【KEIL MDK使用AStyle程序格式化操作】
  4. java自动代码生成
  5. python写的脚本怎么用,如何用python写脚本
  6. Unity2d游戏开发日志(菜只因版)-2月1日-视差
  7. 《电机学》绪论 电机学概述——电(电路与磁路)、机(机械) 四要素:原理、结构、特性、应用
  8. python语言程序设计实践教程答案实验六_Python语言程序设计实验指导与习题--详细介绍...
  9. 语音备忘录怎么添加录音
  10. 用手机怎么查看网页的源代码0