为github项目配置Travis机器人

今天为新的项目配置了一下Travis机器人,在这里跟你们分享一下配置的过程。java

诉求

在一个项目中,测试能够说是一个很是重要的部分。单元测试就是其中一个很重要的组成部分。可是有时候咱们并不能作到每次写完本身的代码都去执行一遍全部的单元测试,这时候咱们就想,若是能有一个机器人帮咱们作这些工做就行了,这样咱们就不怕忘记了。mysql

Travis就是这么一个能够帮助咱们实现这个愿望的小工具。git

达到的效果

完成本身的代码,使用git push提交到github,创建pull request的时候,Travis自动执行全部的单元测试,而后将执行的结果消息发送到群组中。github

clipboard.png

配置过程

配置文件

首先,Travis的配置都写在.travis.yml的配置文件中。web

配置项

1.首先要声明语言

咱们的项目使用的java,因此语言就是javasql

language: java

能够参考官方文档配置你本身的项目:构建Java项目数据库

2.JDK版本

选择的版本是oraclejdk8api

jdk:
  - oraclejdk8

固然,你也能够选择其余支持的任意版本。也能够对多个版本的jdk进行测试:多JDK版本oracle

3.配置所需服务

目前使用到的服务只有数据库这一项,用到的是mysql工具

services:
  - mysql

4.使用的软件

这里使用的软件也是mysql相关的几个软件:

addons:
  apt:
    packages:
      - mysql-server-5.6
      - mysql-client-core-5.6
      - mysql-client-5.6

当咱们有须要加载的其余依赖的时候,还能够经过addons: apt: 来加载软件源。

5.通知方式

当机器人自动化执行单元测试完成后,咱们须要知道测试的结果。

可是咱们又不但愿每次都要打开github去看,因此就要使用到了通知方式。

这里咱们团对使用的交流工具是钉钉。每次机器人测试结束后,就会将测试结果发送到钉钉群中。

1)添加钉钉机器人

在群组的右上角选择机器人:

clipboard.png

而后添加机器人:

clipboard.png

选择要添加的机器人,这里选择的是Travis

clipboard.png

而后复制下webhook

clipboard.png

完成。咱们能够看见群组中已经添加的机器人:

clipboard.png

2)配置通讯项

而后在回到咱们的配置文件中,添加配置项:

notifications:
  webhooks: https://oapi.dingtalk.com/robot/send?access_token=a2aea3835064e9d9ca1ea1c9c1583422746d09071d2b8f711870f027300c8093

6.建立数据库

执行代码测试以前,必不可少的就是先建立数据库:

before_install:
  - mysql -e 'CREATE DATABASE IF NOT EXISTS schedule default charset utf8 COLLATE utf8_general_ci;' -uroot

由于咱们上面配置使用的服务是mysql,因此这里也是使用mysql来建立数据库。

7.执行脚本

最后就是咱们主要的部分了,自动执行全部的单元测试,其实有点基础的人就会清楚,自动,就是写了一段脚本,而后交由电脑去执行而已:

script:
  - cd api
  - cd schedule
  - java -version
  - javac -version
  - mvn test

到此,配置文件建立完了。固然,Travis远比我使用的这些功能要强大的多。不只能够自动测试,还能自动发布。剩下的功能仍是要等到实际需求出现的时候再进行探索了。

官方参考:
https://open-doc.dingtalk.com...
https://docs.travis-ci.com/

相关文章
相关标签/搜索