有没有办法在部署时只在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文件.