我正在使用Python版本的矩阵运行Travis CI,但我确实希望在所有这些都通过之后才执行发布操作,显然。
我该怎么做?似乎为每个子构建执行“部署”操作。
答案 0 :(得分:5)
目前似乎无法进行此操作,并且有一个错误跟踪它: https://github.com/travis-ci/travis-ci/issues/929
更新
Travis禁止对该问题发表评论,这真的是一件坏事。我想你现在唯一的选择是推特他们重新打开它。使用社会压力,对付封闭的商业模式! ;)
此外,如果您碰巧知道一些允许这样做的竞争对手,请提及它们! ...在同一条推文中。
答案 1 :(得分:2)
可以使用bash和Travis内置变量。对于JavaScript / Node repo:
dist: trusty
language: node_js
node_js:
- '8'
- '7'
install: ...
script: ...
after_success:
- 'if [ "${TRAVIS_NODE_VERSION}" = "8" ]; then cat ./coverage/lcov.info | coveralls ; fi'
- 'if [ "${TRAVIS_NODE_VERSION}" = "8" ]; then firebase deploy --token $FIREBASE_TOKEN --non-interactive ; fi'
其他内置变量:
TRAVIS_DART_VERSION
TRAVIS_GO_VERSION
TRAVIS_HAXE_VERSION
TRAVIS_JDK_VERSION
TRAVIS_JULIA_VERSION
TRAVIS_NODE_VERSION
TRAVIS_OTP_RELEASE
TRAVIS_PERL_VERSION
TRAVIS_PHP_VERSION
TRAVIS_PYTHON_VERSION
TRAVIS_R_VERSION
TRAVIS_RUBY_VERSION
TRAVIS_RUST_VERSION
TRAVIS_SCALA_VERSION
请参阅https://docs.travis-ci.com/user/environment-variables/
致@airbnb/enzyme的信用,这是我接受这个想法的地方。