2016-01-26 1 views
2

Je souhaite exécuter des builds Travis CI pour deux scripts de construction différents. Par exemple quelque chose comme ça:Appel de deux scripts de construction distincts en tant que matrice sur Travis CI

  • ./prepare.sh mvn verify -Psystem-tests
  • ./prepare.sh mvn verify -Pintegration-tests

En documentation je vois cette fonction Build Matrix est exactement ce que j'ai besoin, mais les échantillons ne parle là comment créer la matrice sur différents environnements.

Comment puis-je créer une telle matrice sur différentes commandes de construction?

Voici mon actuelle .travis.yml:

language: java 
cache: 
    directories: 
    - $HOME/.m2 
script: 
    - ./prepare.sh 
    - mvn verify -Psystem-tests 
    - mvn clean verify -Pintegration-tests 

Répondre

4

Dans la section matrix, vous pouvez spécifier:

  • les commandes elles-mêmes:

    matrix: 
        - env: MAVEN_SCRIPT="mvn verify -Psystem-tests" 
        - env: MAVEN_SCRIPT="mvn clean verify -Pintegration-tests" 
    script: 
        - ./prepare.sh 
        - $MAVEN_SCRIPT 
    
  • qui commande à exécuter, puis if sur le m:

    matrix: 
        - env: MAVEN_TESTS=system 
        - env: MAVEN_TESTS=integration 
    script: 
        - ./prepare.sh 
        - if [ "$MAVEN_TESTS" == "system" ]; then mvn verify -Psystem-tests; fi 
        - if [ "$MAVEN_TESTS" == "integration" ]; then mvn clean verify -Pintegration-tests; fi 
    
  • les parties spécifiques qui différencient les essais:

    matrix: 
        - env: MAVEN_TEST_CLEANLINESS="" MAVEN_TESTS=system 
        - env: MAVEN_TEST_CLEANLINESS=clean MAVEN_TESTS=integration 
    script: 
        - ./prepare.sh 
        - mvn $MAVEN_CLEANLINESS verify -P$MAVEN_TESTS-tests