我在三个不同的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
:用于语言运行时即支持多个版本,您可以限制部署的发生只在与所需版本匹配的作业上。
您可以尝试使用条件释放