在Travis CI上调用两个单独的构建脚本作为矩阵

Mic*_*das 3 build-process maven travis-ci

我想为两个不同的构建脚本运行Travis CI构建。例如这样的事情:

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

文档中,我看到了Build Matrix功能正是我所需要的,但是那里的示例仅涉及如何在不同环境下创建矩阵。

如何通过不同的构建命令创建此类矩阵?

这是我目前的情况.travis.yml

language: java
cache:
  directories:
    - $HOME/.m2
script:
  - ./prepare.sh
  - mvn verify -Psystem-tests
  - mvn clean verify -Pintegration-tests
Run Code Online (Sandbox Code Playgroud)

наб*_*эли 5

在此matrix部分中,您可以指定以下任一项:

  • 命令本身:

    matrix:
      - env: MAVEN_SCRIPT="mvn verify -Psystem-tests"
      - env: MAVEN_SCRIPT="mvn clean verify -Pintegration-tests"
    script:
      - ./prepare.sh
      - $MAVEN_SCRIPT
    
    Run Code Online (Sandbox Code Playgroud)
  • 运行哪个命令,然后if在它们上运行:

    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
    
    Run Code Online (Sandbox Code Playgroud)
  • 区分测试的特定部分:

    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
    
    Run Code Online (Sandbox Code Playgroud)