Có vẻ như bây giờ có thể chạy một số ngôn ngữ trong một tệp .travis.yml bằng matrix:include
tính năng này. Ví dụ: repo Github của tôi được sắp xếp như sau:
project/ - top-level github directory
project/backend - Python backend
project/backend/tests - Python tests
project/android/AppName - Android app
project/ios/AppName - iOS app
Đây là .travis.yml, chạy các bài kiểm tra bằng Python, Java và Objective-C:
matrix:
include:
- language: python
python: 2.7
before_script:
- cd backend/tests
script:
- python -m unittest discover
- language: android
dist: trusty
jdk: oraclejdk8
android:
components:
- tools
- android-25
- build-tools-25.0.3
before_script:
- cd android/AppName
script:
- ./gradlew build connectedCheck
- language: objective-c
os: osx
osx_image: xcode8.3
before_script:
- cd ios/AppName
script:
- xcodebuild -workspace AppName.xcworkspace -scheme AppName
-destination 'platform=iOS Simulator,name=iPhone 7,OS=10.3' build test
notifications:
email:
- yourname@gmail.com
Có vẻ như bạn có thể xây dựng nhiều cấu hình khác nhau tùy thích bằng cách sử dụng tính năng này, bằng cách coi mỗi mục nhập trong ma trận là cấu hình cấp cao nhất. Tất nhiên, nếu bạn có bất kỳ tham số nào bạn muốn đặt áp dụng cho tất cả các ngôn ngữ, bạn có thể thực hiện điều đó ở cấp cao nhất, như tôi làm ở đây với notifications:email
phần này.
Khi tất cả được thiết lập, sau đó trên mỗi bản dựng, bạn sẽ nhận được một cái gì đó như thế này. Bùng nổ.