当我在多个Node版本上运行测试时,防止Travis多次部署?

时间:2015-10-01 16:07:29

标签: travis-ci

我测试了三个不同的Node版本(主要是为了提醒我在生产中被迫切换到另一个版本时可能出现的任何兼容性问题):

sudo: false
language: node_js
node_js:
  - iojs
  - '0.12'
  - '0.10'
deploy:
  skip_cleanup: true
  provider: script
  script: ./deploy.sh
  on:
    branch: master
matrix:
  allow_failures:
    - node_js: iojs

但这意味着我的./deploy.sh脚本会从三个不同的容器中运行三次!我显然只想要部署成功版本的一个。其他构建仅用于捕获Node问题。

有没有办法对它进行配置,以便它只在一个作业后运行我的部署脚本?可能是on:下的其他设置?

script provider的文档不包括此内容。

2 个答案:

答案 0 :(得分:7)

如何在node: '0.10'下设置on:选项呢?像这样:

deploy:
  skip_cleanup: true
  provider: script
  script: ./deploy.sh
  on:
    branch: master
    node: '0.10'

这应仅在node: '0.10'目标上运行部署作业。

来自http://docs.oracle.com/javase/6/docs/technotes/guides/scripting/programmer_guide/index.html#evalfile

  

jdknodeperlphppythonrubyscalago :对于语言运行时   支持多个版本,您可以限制部署发生   仅适用于与所需版本匹配的作业

答案 1 :(得分:0)

您可以尝试使用conditional release