이 matrix:include
기능을 사용하여 하나의 .travis.yml 파일에서 여러 언어를 실행할 수있는 것 같습니다 . 예를 들어 내 Github 저장소는 다음과 같이 정렬됩니다.
project/ - top-level github directory
project/backend - Python backend
project/backend/tests - Python tests
project/android/AppName - Android app
project/ios/AppName - iOS app
다음은 Python, Java 및 Objective-C에서 테스트를 실행하는 .travis.yml입니다.
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
매트릭스의 각 항목을 최상위 구성으로 취급하여이 기능을 사용하여 원하는만큼 다양한 구성을 구축 할 수있는 것 같습니다. 물론 모든 언어에 적용되는 매개 변수를 설정하려는 경우 여기 notifications:email
섹션에서 수행하는 것처럼 최상위 수준에서 수행 할 수 있습니다 .
모든 것이 설정되면 각 빌드에서 다음과 같은 결과를 얻습니다. 팔.