Travis不累积构建退出代码

Tom*_*ero 5 travis-ci

我有以下内容.travis.yml

sudo: required
language: node_js
branches:
  only:
    - master
before_install:
  - curl https://install.meteor.com | /bin/sh
  - npm install standard -g
script:
  - standard
  - sh run_tests.sh
  - '[ "${TRAVIS_PULL_REQUEST}" != "false" ] && bash check_for_new_version_number.bash'
  - '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && printf $LI | meteor login && meteor publish || exit 0'
Run Code Online (Sandbox Code Playgroud)

如果有任何构建命令失败(退出代码!= 0),则该构建仍会标记为成功,因为最后一个命令的存在值为0。如果我将最后一个命令更改为以1退出,则构建确实会失败。

根据http://docs.travis-ci.com/user/customizing-the-build/#Customizing-the-Build-Step,此退出代码应累积,并且如果有任何失败,则构建应该失败。我想念什么?

谢谢!

bru*_*and 1

这里的问题是 Travis 获取你的 travis.yml 并基本上生成一个巨大的 bash 脚本。如果您执行“exit 0”,则构建脚本将终止,并且您会失去对执行的跟踪。如果您想忽略最后一行的错误,我建议这样做:

- '[ "${TRAVIS_PULL_REQUEST}" = "false" ] && printf $LI | meteor login && meteor publish || true
Run Code Online (Sandbox Code Playgroud)