【发布时间】:2016-05-27 22:33:05
【问题描述】:
有没有办法只在部署时在 travis 中运行矩阵构建?现在我们使用相同的.travis.yml 文件进行测试和部署,并且在这两种情况下都会触发矩阵构建(因此会触发两个工作人员)。我无法找到一种方法,仅在我们正在部署的情况下而不是在我们运行测试的情况下将构建作为矩阵运行(或者可能仅在部署过程中使用矩阵)。我想这样做的主要原因是为了在创建 PR 时不会触发额外的构建,而我只需要运行测试构建。
我也找不到一种简单的方法,我们可以为 npm install/npm test 运行单个构建,然后为“部署”过程分拆两个单独的工作程序/一个矩阵,这也可以解决问题。
这是我当前的 .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 钩子上运行矩阵构建,而不是在 pr 上运行。
【问题讨论】:
标签: build continuous-integration travis-ci