第一次为项目配置Travis
机器人,在这里跟大家分享一下配置的过程。
前言
在一个项目中,测试可以说是一个非常重要的部分。单元测试就是其中一个很重要的组成部分。
但我们每次写完单元测试都只是跑自己写的测试,而且往往在一个很大的项目中跑一边单元测试要很长时间,而且跑单元测试非常占资源,会很卡。
如果能有一个机器人帮我们做这项工作就好了。
Travis
就是这么一个可以帮助我们实现这个愿望的小工具。
预期的效果
完成自己的代码,使用git push
提交到github
,建立pull request
的时候,Travis
自动执行所有的单元测试,然后将执行的结果消息发送到我们设置的钉钉群组中。
如何配置
首先,要在项目的根目录新建.travis.yml
的配置文件,Travis
的配置都写配置文件中。
1.首先要声明语言
我们的项目使用的java
,所以语言就是java
:
language: java
可以参考官方文档配置你自己的项目:构建Java项目
2.JDK版本
我这里使用的版本是oraclejdk8
:
jdk:
- oraclejdk8
当然,你也可以选择其他支持的任意版本。也可以对多个版本的jdk进行测试:多JDK版本
3.配置所需服务
可以配置多个服务,如mysql
redis
:
services:
- mysql
- redis-server
4.声明系统
可以手动声明跑测试的系统(可以不设置)
dist: xenial(Ubuntu Xenial)
5.创建数据库
执行代码测试之前,必不可少的就是先创建数据库:
before_install:
- mysql -e 'CREATE DATABASE IF NOT EXISTS baeldung default charset utf8 COLLATE utf8_general_ci;' -uroot
因为我们上面配置使用的服务是mysql
,所以这里也是使用mysql
来创建数据库。
6.执行脚本
script:
- cd api
- java -version
- javac -version
- mvn test
cd api
(我这里后台文件夹为api
)进入项目后台,mvn test
执行测试
7.设置通知方式
当机器人执行单元测试完成后,我们需要知道测试的结果。
但是我们有不希望每次去github上看测试结果。
所以在这里使用钉钉
。每次机器人测试结束后,就会将测试结果发送到钉钉群中。
1)添加钉钉机器人
点击钉钉右上角的:...
点击智能群助手->添加机器人->选择要添加的机器人(这里选择的是Travis
:)
然后复制webhook
:
完成。我们可以看见群组中已经添加的机器人:
2)配置通信
回到我们的配置文件中,添加配置项:
notifications:
email: false
webhooks: https://oapi.dingtalk.com/robot/send?access_token=6256f718705cf7491d9b7806a9adf28806ebfc87aebb5e3878a5fb72512167c3
到此,配置文件创建完了。
Travis
远比我使用的这些功能要强大的多。不仅仅只支持测试。其它功能还要遇到实际需求在去探索。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。