爲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/

相關文章
相關標籤/搜索