You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Travis CI跳过特定Node.js版本的指定脚本

在Travis CI中仅指定Node.js版本执行特定脚本

当然可以实现!Travis CI内置了环境变量来帮我们判断当前运行的Node.js版本,咱们可以用$TRAVIS_NODE_VERSION这个变量做条件判断,只在目标版本(比如你说的Node 9)上运行那些代码覆盖率、Greenkeeper相关的脚本,其他版本直接跳过,这样就能节省不少构建时间和资源啦。

下面是修改后的.travis.yml配置,我已经给需要控制的阶段加上了条件判断:

node_js:
  - '9'
  - '8'
  - '6'
branches:
  only:
    - master
    - /^greenkeeper.*$/
before_install:
  - if [ "$TRAVIS_NODE_VERSION" = "9" ]; then npm install -g greenkeeper-lockfile@1; fi
before_script:
  - if [ "$TRAVIS_NODE_VERSION" = "9" ]; then greenkeeper-lockfile-update; fi
script:
  - npm run verify
after_script:
  - if [ "$TRAVIS_NODE_VERSION" = "9" ]; then greenkeeper-lockfile-upload; fi
after_success:
  - if [ "$TRAVIS_NODE_VERSION" = "9" ]; then npm install -g travis-deploy-once@4; fi
  - if [ "$TRAVIS_NODE_VERSION" = "9" ]; then travis-deploy-once "npm run semantic-release"; fi
  - if [ "$TRAVIS_NODE_VERSION" = "9" ]; then npm install --no-save coveralls && npm run coveralls; fi
  - if [ "$TRAVIS_NODE_VERSION" = "9" ]; then npm install --no-save codecov && npm run codecov; fi

配置说明:

  • 对于before_install、before_script、after_script和after_success里的每一条命令,我们都用Shell的if条件包裹起来,只有当当前Node版本等于9时才执行对应的命令。
  • script阶段的npm run verify保持不变,因为所有版本的Node都需要运行这个验证任务。
  • 如果你以后要切换最高版本(比如升级到Node 10),只需要把条件里的"9"改成对应的版本号就行,非常灵活。

这样配置后,Node 6和8的构建会直接跳过那些不需要的脚本,只有Node 9的构建会完整执行所有流程,完全符合你的需求~

内容的提问来源于stack exchange,提问作者unional

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:29:00