条件阶段不在travis中执行

时间:2018-02-25 14:05:58

标签: travis-ci

我有一个简单的舞台配置

env:
  global:
    - BUILD_TYPE=demo
    - EXECUTABLE=false
if: env(EXECUTABLE) = false
jobs:
  include:
    - stage: stage_exec_1
      if: env(BUILD_TYPE) IN (demo, production)
    - stage: stage_exec_2
      if: sender = lapots
    - stage: stage_not_exec
      if: (NOT branch = master)

但是阶段stage_exec_1没有被执行。我的BUILD_TYPE变量设置为demo,因此它应该执行stage_exec_1。但它并没有发生。

问题是什么?

1 个答案:

答案 0 :(得分:0)

if:jobs:都不是.travis.yml中的有效值,因此它们只是被丢弃。特拉维斯非常自由地默默地放弃它不知道该怎么做的东西。在env:中指定行为很好,但是将逻辑移到script:块并在那里执行if语句,甚至从.travis.yml调用的脚本执行。

https://docs.travis-ci.com/user/customizing-the-build/#Implementing-Complex-Build-Steps