今天为新的项目配置了一下Travis
机器人,在这里跟你们分享一下配置的过程。java
在一个项目中,测试能够说是一个很是重要的部分。单元测试就是其中一个很重要的组成部分。可是有时候咱们并不能作到每次写完本身的代码都去执行一遍全部的单元测试,这时候咱们就想,若是能有一个机器人帮咱们作这些工做就行了,这样咱们就不怕忘记了。mysql
Travis就是这么一个能够帮助咱们实现这个愿望的小工具。git
完成本身的代码,使用git push
提交到github
,创建pull request
的时候,Travis
自动执行全部的单元测试,而后将执行的结果消息发送到群组中。github
首先,Travis
的配置都写在.travis.yml
的配置文件中。web
咱们的项目使用的java
,因此语言就是java
:sql
language: java
能够参考官方文档配置你本身的项目:构建Java项目数据库
选择的版本是oraclejdk8
:api
jdk: - oraclejdk8
固然,你也能够选择其余支持的任意版本。也能够对多个版本的jdk进行测试:多JDK版本oracle
目前使用到的服务只有数据库这一项,用到的是mysql
:工具
services: - mysql
这里使用的软件也是mysql
相关的几个软件:
addons: apt: packages: - mysql-server-5.6 - mysql-client-core-5.6 - mysql-client-5.6
当咱们有须要加载的其余依赖的时候,还能够经过addons: apt:
来加载软件源。
当机器人自动化执行单元测试完成后,咱们须要知道测试的结果。
可是咱们又不但愿每次都要打开github去看,因此就要使用到了通知方式。
这里咱们团对使用的交流工具是钉钉
。每次机器人测试结束后,就会将测试结果发送到钉钉群中。
在群组的右上角选择机器人:
而后添加机器人:
选择要添加的机器人,这里选择的是Travis
:
而后复制下webhook
:
完成。咱们能够看见群组中已经添加的机器人:
而后在回到咱们的配置文件中,添加配置项:
notifications: webhooks: https://oapi.dingtalk.com/robot/send?access_token=a2aea3835064e9d9ca1ea1c9c1583422746d09071d2b8f711870f027300c8093
执行代码测试以前,必不可少的就是先建立数据库:
before_install: - mysql -e 'CREATE DATABASE IF NOT EXISTS schedule default charset utf8 COLLATE utf8_general_ci;' -uroot
由于咱们上面配置使用的服务是mysql
,因此这里也是使用mysql
来建立数据库。
最后就是咱们主要的部分了,自动执行全部的单元测试,其实有点基础的人就会清楚,自动
,就是写了一段脚本,而后交由电脑去执行而已:
script: - cd api - cd schedule - java -version - javac -version - mvn test
到此,配置文件建立完了。固然,Travis
远比我使用的这些功能要强大的多。不只能够自动测试,还能自动发布。剩下的功能仍是要等到实际需求出现的时候再进行探索了。
官方参考:
https://open-doc.dingtalk.com...
https://docs.travis-ci.com/