防止在多个节点版本上运行测试时多次部署 Travis ?



我在三个不同的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:下的另一个设置?

on:下设置node: '0.10'选项怎么样?像这样:

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

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

来自Travis Deployment官方文档:

jdk, node, perl, php, python, ruby, scala, go:用于语言运行时即支持多个版本,您可以限制部署的发生只在与所需版本匹配的作业上。

您可以尝试使用条件释放

相关内容

最新更新