今天爲新的項目配置了一下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/