仅在部署时在Travis中使用矩阵构建

有没有办法在部署时只在travis中运行矩阵构建?现在我们使用相同的.travis.yml文件进行测试和部署,并在两种情况下触发矩阵构建(因此两个工作程序).在我们正在部署的情况下,我找不到仅将构建作为矩阵运行的方法,而不是在我们运行测试时(或者在部署过程中仅使用矩阵).我想这样做的主要原因是,在创建PR时我不会触发额外的构建,我只需要运行测试构建.

我也找不到一种简单的方法,我们可以为npm install / npm测试运行单个构建,然后为“部署”过程分离两个单独的worker / a matrix,这也可以解决问题.

这是我当前.travis.yml文件的一小部分:

language: node_js
node_js: 4.2.1
env:
  global:
    - APP_NAME=example
  matrix:
    - CF_DOMAIN=example1.net CF_TARGET=https://target1.com APP_NAME=${APP_NAME}-1
    - CF_DOMAIN=example2.net CF_TARGET=https://target2.com APP_NAME=${APP_NAME}-2

branches:
  only:
    - master
deploy:
- provider: script
  skip_cleanup: true
  script: node_modules/.bin/deploy.sh
  on:
    branch: master

它也可能对我们来说只在push hook上运行矩阵构建,但不能在pr上运行.

最佳答案 在Trait的GitHub上发布了类似的问题.有人建议使用两个单独的.travis.yml文件.

https://github.com/travis-ci/travis-ci/issues/2778

点赞